Why not have a separate subpool for page-protected storage with Fetch enabling store temporarily?
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Monday, February 8, 2021 11:57 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: LINK vs LOAD/CALL. Storage protection is page by page. So ... design tradeoff decision: - Leave any part of the program that occupies a partial page unprotected. - "Waste" the remainder of the partially-occupied page. IBM obviously chose the former. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Seymour J Metz Sent: Monday, February 8, 2021 8:51 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: LINK vs LOAD/CALL. > Therefore, any parts of the program that are on partial pages are not page-protected. Ouch! Why? -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Peter Relson [rel...@us.ibm.com] Sent: Monday, February 8, 2021 9:13 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: LINK vs LOAD/CALL. <snip> The effect of REFRPROT has long been enforced for modules loaded from APF libraries. </snip> Only for non-key-0 programs. Putting code into key 0 storage is not all that REFRPROT does. <snip> Does REFRPROT have a "warn" setting? </snip> No. What would it warn about? That you loaded a refreshable program? You can't know it won't work until it doesn't work. It is easy enough to scan your libraries for things that are marked refreshable. <snip> ... one of our interface routines to Adabas has done this for more than 40 years. </snip> But now there is an intrinsic penalty from mixing I-cache and D-cache but presumably not enough to merit changing. <snip> Any LMOD marked "RF" (REFR) will abend S0C4-4 if it modifies itself during execution. </snip> If not key 0, yes. If key 0, only if executing within one of the full pages of the load module. If the module storage occupies a partial page, that partial page is not protected: "Use the REFRPROT statement type to specify that REFR programs are protected from modification by placing them in key 0, non-fetch protected storage, and page protecting the full pages. Therefore, any parts of the program that are on partial pages are not page-protected." Peter Relson z/OS Core Technology Design ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN