Discussion:
PGSER R,FIX question
(too old to reply)
Joe Reichman
2017-07-31 00:14:19 UTC
Permalink
Raw Message
Hi



It is my understanding the I can page fix any storage whiting a page, the
storage does not have to start on page boundary.



I am getting a 18A abend with R0= 35000301 indicating The page had not
been obtained by a GETMAIN macro



Here is my STORAGE OBTAIN



STORAGE OBTAIN,LENGTH=(R0),ADDR=(R7),BNDRY=PAGE,SP=0



The PGSER



PGSER R, X

FIX, X

A=(R7), X

ASCB=(R8), X



R7 points to X'88' within that page, it is executed from a SRB to page fix
storage in the scheduling address space for a few instructions while I move
data in





PS I have the address space swapped in before I issue the IEAMSCHD




----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Jim Mulder
2017-07-31 06:10:34 UTC
Permalink
Raw Message
I cannot answer your question from the incomplete information you have
provided.
Keep in mind the the ASCB parameter you have specified on the PGSER macro
is
applicable only to BRANCH=SPECIAL requests, and even then, possibly not in
the
way you might be expecting.

Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Post by Joe Reichman
It is my understanding the I can page fix any storage whiting a page, the
storage does not have to start on page boundary.
I am getting a 18A abend with R0= 35000301 indicating The page had not
been obtained by a GETMAIN macro
Here is my STORAGE OBTAIN
STORAGE OBTAIN,LENGTH=(R0),ADDR=(R7),BNDRY=PAGE,SP=0
The PGSER
PGSER R, X
FIX, X
A=(R7), X
ASCB=(R8), X
R7 points to X'88' within that page, it is executed from a SRB to page fix
storage in the scheduling address space for a few instructions while I move
data in
PS I have the address space swapped in before I issue the IEAMSCHD
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2017-07-31 06:21:12 UTC
Permalink
Raw Message
Sorry I should of pasted the entire code
It is with BRANCH=SPECIAL

The code that I have works with z/os 2.2
( at least the PGSER doesn't abend and I am able to move 4 bytes into the program that scheduled the SRB) the other difference is the 2.2 code is running in a subtask

The code that abended is running z/os 2.1
Post by Jim Mulder
I cannot answer your question from the incomplete information you have
provided.
Keep in mind the the ASCB parameter you have specified on the PGSER macro
is
applicable only to BRANCH=SPECIAL requests, and even then, possibly not in
the
way you might be expecting.
Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Post by Joe Reichman
It is my understanding the I can page fix any storage whiting a page,
the
Post by Joe Reichman
storage does not have to start on page boundary.
I am getting a 18A abend with R0= 35000301 indicating The page had not
been obtained by a GETMAIN macro
Here is my STORAGE OBTAIN
STORAGE OBTAIN,LENGTH=(R0),ADDR=(R7),BNDRY=PAGE,SP=0
The PGSER
PGSER R, X
FIX, X
A=(R7), X
ASCB=(R8), X
R7 points to X'88' within that page, it is executed from a SRB to page
fix
Post by Joe Reichman
storage in the scheduling address space for a few instructions while I
move
Post by Joe Reichman
data in
PS I have the address space swapped in before I issue the IEAMSCHD
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Jim Mulder
2017-07-31 08:14:56 UTC
Permalink
Raw Message
The documentation for PGSER says:

,ASCB=ascb addr Specifies the address of the ASCB for the
currently addressable address space.


You are probably specifying an ASCB which is not the currently
addressable address space. In that case, PGSER performs
the operation against the currently addressable address space, while
holding serialization for the address space specified by the ASCB
parameter. The results will be not what you wanted, and potentially
disastrous due to the lack of serialization of the address space where
the operation is performed.

I would prefer that PGSER should issue an ABEND when the ASCB
parameter does not specify the currently addressable address space,
and I intend to exert some influence toward getting that implemented in
a future release.

Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Date: 07/31/2017 03:43 AM
Subject: Re: PGSER R,FIX question
Sorry I should of pasted the entire code
It is with BRANCH=SPECIAL
The code that I have works with z/os 2.2
( at least the PGSER doesn't abend and I am able to move 4 bytes
into the program that scheduled the SRB) the other difference is the
2.2 code is running in a subtask
The code that abended is running z/os 2.1
Post by Jim Mulder
I cannot answer your question from the incomplete information you have
provided.
Keep in mind the the ASCB parameter you have specified on the PGSER macro
is
applicable only to BRANCH=SPECIAL requests, and even then, possibly not in
the
way you might be expecting.
Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Post by Joe Reichman
It is my understanding the I can page fix any storage whiting a page,
the
Post by Joe Reichman
storage does not have to start on page boundary.
I am getting a 18A abend with R0= 35000301 indicating The page had not
been obtained by a GETMAIN macro
Here is my STORAGE OBTAIN
STORAGE OBTAIN,LENGTH=(R0),ADDR=(R7),BNDRY=PAGE,SP=0
The PGSER
PGSER R, X
FIX, X
A=(R7), X
ASCB=(R8), X
R7 points to X'88' within that page, it is executed from a SRB to page
fix
Post by Joe Reichman
storage in the scheduling address space for a few instructions while I
move
Post by Joe Reichman
data in
PS I have the address space swapped in before I issue the IEAMSCHD
----------------------------------------------------------------------
Post by Jim Mulder
Post by Joe Reichman
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2017-07-31 12:08:13 UTC
Permalink
Raw Message
What does currently addressable address space mean I do a SSAR to the
address space that invoked the SRB, before issuing the IEAMSCHD I do
SYSEVENT DONTSWAP to ensure the address space is not swapped out

Thanks

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-***@LISTSERV.UA.EDU] On
Behalf Of Jim Mulder
Sent: Monday, July 31, 2017 4:16 AM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: PGSER R,FIX question

The documentation for PGSER says:

,ASCB=ascb addr Specifies the address of the ASCB for the
currently addressable address space.


You are probably specifying an ASCB which is not the currently addressable
address space. In that case, PGSER performs the operation against the
currently addressable address space, while holding serialization for the
address space specified by the ASCB parameter. The results will be not what
you wanted, and potentially disastrous due to the lack of serialization of
the address space where the operation is performed.

I would prefer that PGSER should issue an ABEND when the ASCB parameter
does not specify the currently addressable address space, and I intend to
exert some influence toward getting that implemented in a future release.

Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Date: 07/31/2017 03:43 AM
Subject: Re: PGSER R,FIX question
Sorry I should of pasted the entire code It is with BRANCH=SPECIAL
The code that I have works with z/os 2.2 ( at least the PGSER doesn't
abend and I am able to move 4 bytes into the program that scheduled
the SRB) the other difference is the
2.2 code is running in a subtask
The code that abended is running z/os 2.1
Post by Jim Mulder
I cannot answer your question from the incomplete information you have
provided.
Keep in mind the the ASCB parameter you have specified on the PGSER macro
is
applicable only to BRANCH=SPECIAL requests, and even then, possibly not in
the
way you might be expecting.
Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Post by Joe Reichman
It is my understanding the I can page fix any storage whiting a page,
the
Post by Joe Reichman
storage does not have to start on page boundary.
I am getting a 18A abend with R0= 35000301 indicating The page had not
been obtained by a GETMAIN macro
Here is my STORAGE OBTAIN
STORAGE OBTAIN,LENGTH=(R0),ADDR=(R7),BNDRY=PAGE,SP=0
The PGSER
PGSER R, X
FIX, X
A=(R7), X
ASCB=(R8), X
R7 points to X'88' within that page, it is executed from a SRB to page
fix
Post by Joe Reichman
storage in the scheduling address space for a few instructions
while
I
Post by Jim Mulder
move
Post by Joe Reichman
data in
PS I have the address space swapped in before I issue the IEAMSCHD
----------------------------------------------------------------------
Post by Jim Mulder
Post by Joe Reichman
For IBM-MAIN subscribe / signoff / archive access instructions,
--------------------------------------------------------------------
-- For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to ***@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Jim Mulder
2017-07-31 17:09:48 UTC
Permalink
Raw Message
"Currently addressable space" is defined
by this table:

ASC MODE | Currently addressable space
-------- | ---------------------------
Home | Home
Primary | Primary
Secondary | Secondary
AR | Primary

Note that the documentation for BRANCH=SPECIAL says:

PGSER ? Fast path page services

Description
The fast path PGSER macro performs FIX and FREE requests for users on
performance paths.

Environment
The requirements for the caller are:

Environmental factor Requirement

Minimum authorization: Supervisor state and key 0
Dispatchable unit mode: Task or SRB
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31-bit
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: No spin locks can be held.
Control parameters: Must be in the primary address space

So according to the documentation, you are required to be in
PRIMARY ASC mode, and thus you cannot fix storage in any address
space other than the primary space.

If you want to page fix storage in the address space
which is scheduling the SRB, you should do that before
scheduling the SRB.

Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp.
Poughkeepsie NY
Post by Joseph Reichman
What does currently addressable address space mean I do a SSAR to the
address space that invoked the SRB, before issuing the IEAMSCHD I do
SYSEVENT DONTSWAP to ensure the address space is not swapped out
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Peter Relson
2017-07-31 14:03:29 UTC
Permalink
Raw Message
First question: what is in R0 for the storage obtain?

Second question: what is in R8?

The PGSER invocation that you show in your post is incomplete and
syntactically incorrect. I do not choose to guess what you left out.
Please double-check your posts before you send them. If nothing else, you
left out the end address which is rather important.

Third question: what did you put into the end address?

Fourth question: did you look at the generated code before posting your
question?

These are rather obvious questions to have provided answers for within
your original post.

You cannot be right that reg 7 "points to X'88' within that page", since
subpool 0 does honor page boundary, so reg 7 (if it still contains the
output from STORAGE OBTAIN) would point to offset 0 within a page.

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Loading...