Considering the amount of work that RAdmin is doing on your behalf, issuing a FREEMAIN for each request does not seem a huge overhead (percentage wise).
I just don't like the idea of entire subpool release in the normal operation path, just seems like a problem waiting to happen. I also prefer to supply buffer and length parameters to services, but like you, I have code that has to call RACF in this fashion. As to choosing subpool numbers for uniqueness, I use a range in the 30s, 40s or so to attempt to make any leaks easier to find in IPCS or interactively using the SDSF JM action on DA. I then subdivide that range to distinguish usage, for example buffers versus product control blocks. Rob Scott Rocket Software Get Outlook for Android<https://aka.ms/AAb9ysg> ________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Charles Mills <[email protected]> Sent: Saturday, August 31, 2024 3:20:40 PM To: [email protected] <[email protected]> Subject: How do I choose a subpool? EXTERNAL EMAIL Starting a new thread after @Peter dryly points out that freeing all of LE's storage in the middle of a run is "unlikely to be a good idea." How DO I choose a subpool? Here's the bigger picture. I am using https://www.ibm.com/docs/en/zos/3.1.0?topic=descriptions-r-admin-irrseq00-racf-administration-api<https://www.ibm.com/docs/en/zos/3.1.0?topic=descriptions-r-admin-irrseq00-racf-administration-api> ADMN_XTR_RESOURCE. For those of you unfamiliar (and assuming I am reading the documentation correctly) the caller specifies a subpool 0 < n < 128 and the RACF service does a GETMAIN for the storage in which to return the requested data. The caller is expected to free the storage. (Personally, I don't like that design. I prefer the convention in which the caller provides an area and its length, and the service gives a return code if the area is too small. But that is neither here nor there; the RACF team did not ask me for advice.) I have proof of concept code working. The POC code simply ignores the FREEMAIN problem and lets end-of-jobstep solve the issue. I am moving on now to "production" code and my idea was to issue a FREEMAIN for the entire specified subpool after every ten calls or so (plus after the last, of course). Why not after every call? The amount of storage is not very great (for the particular profiles I am retrieving) and I thought that issuing fewer FREEMAINs would be lower overhead. So, what subpool should I use? I picked 1 because I'm a programmer so if you ask me to pick a number that is not 0, I pick 1. Apparently that was, in @Peter's words, unlikely to be a good idea. Is there guidance anywhere on how to choose a "user" subpool? The RACF service documentation provides no guidance that I saw. The MVS Assembler Services Guide seems to just say "pick a subpool." I suspect LE documents somewhere that they use subpool 1, but they certainly don't shout it from the rafters. Is there anything, anywhere -- IBM, SHARE, a Colin Plaice blog -- that offers guidance on how to pick a subpool, or how to avoid picking a problematic subpool? How to avoid subpool collisions? Or to make the question more basic, what subpool SHOULD I use for my IRRSEQ00 calls? Thanks, Charles ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ================================ Rocket Software, Inc. and subsidiaries ? 77 Fourth Avenue, Waltham MA 02451 ? Main Office Toll Free Number: +1 855.577.4323 Contact Customer Support: https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - http://www.rocketsoftware.com/manage-your-email-preferences Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy ================================ This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
