While it is bad form, a RENT module may modify itself. There are circumstances 
in which some or all of a RENT modules may be protected, so the devil is in the 
details.

Back in OS/VS2 3.8, the only exception was loading from an APF concatenation, 
which put it in SP252, key 0. A key 0 task could still modify the code, but if 
it was in PLPA then page steal would not page out the modified page. There are 
more special cases these days.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
Rupert Reynolds [[email protected]]
Sent: Friday, November 12, 2021 9:36 AM
To: [email protected]
Subject: Re: specific purpose for the REUS parameter in a binder operation

Thanks for the reminder of REUS. If I may test my memory here, the
difference between REUS and RENT is declaring to system that the program
does not modify any local storage at all, (obtaining any storage needed at
run time), and if it is loaded from an APF-authorised library it should be
loaded into shared write-protected storage.

I hope my memory is right. It's been a while, and the last opportunity for
this sort of thing was on MVS 3.8 :-)

Roops

On Fri., Nov. 12, 2021, 13:44 Peter Relson, <[email protected]> wrote:

> The specific purpose of the REUS binder option is to tell the system (that
> being program fetch) that this module is to be considered serially
> reusable. Serially reusable is different than reentrant. Serially reusable
> is considerably "weaker" than reentrant. But it is "stronger" than not
> reusable and not reentrant.
>
> I would think it very unusual these days to have any interest in creating
> a serially reusable module.
>
> Given that the system definition of serially reusable is that the module
> may be used only once at a time, you land with a "wait queue" if there are
> additional requests to use the module while it is currently in use. So to
> the question of whether a (serially) reusable module will be fetched each
> time, the answer is "no". If the module is already in storage and there is
> a waiter, that copy will be used once it is not being used by something
> else.
>
> But your case really sounds like it has nothing to do with any of this.
> You don't use a routine to "designate the program as reusable"; you use
> the binder to set the directory entry to indicate that the program is
> reusable. And reusable is an attribute of the whole load module / program
> object, not of a piece within it. So maybe this interface tells LE to
> treat the program as reusable whether it is or is not?
>
> Peter Relson
> z/OS Core Technology Design
>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to