Is there a table showing fetch protect, key, page protect and subpool for every combination of library authorization, REFR, REFRPROT, RENT, REUS, TCB key?
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Peter Relson <[email protected]> Sent: Saturday, August 24, 2024 9:12 AM To: [email protected] Subject: Re: Non-reentrant program not allowed (where?); Advantages of reentrant programs? It is not the case that the default has changed for when a reentrant module is placed into key 0 storage (which many equate with protecting it from stores, but of course it only protects it from non-key-0 stores). The default will never change, due to compatibility concerns. But there are options available such as REFRPROT to do some things differently than the default. And, if you care, for a key 9 task (a task attached with ATTACHX specifying KEY=NINE) a reentrant module is placed into key 0 storage whether or not the source library is authorized. Regarding REFRPROT/NOREFRPROT: The "no" version had to be provided and had to be the default, for compatibility reasons. The refreshable attribute had always been ignored by MVS / OS/390 / z/OS so there were plenty of cases where modules had been marked refreshable that weren't. In most cases, compatibility concerns win over modernizing. PLPA, pretty much by definition, is refreshable (because it actually is refreshed when backing real pages have been stolen). That's why the PLPA page data set exists. It is true that you won't successfully IPL if you try to put something into PLPA that is not marked reentrant. Surprising to me, no one has mentioned performance. Avoiding fetching a copy of the module from DASD (as can happen for a second or subsequent fetch of the same reentrant module if a loaded copy still is in play) can be a huge gain if you "load" it many times (such as once per task in a multi-tasking application). Also, be sure in a non-reentrant module to separate your "data" from your "code" (separate cache lines) to avoid significant degradation due to "store into instruction stream" effects. <snip> Is user key CSA still available? </snip> Only in a restricted way. This is RUCSA. 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
