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

Reply via email to