Examine your IEFUSI exit routine for possible changes
Description
- REGIONX keyword
- New JCL keyword for the JOB and EXEC statements. JCL programmers can use REGIONX to explicitly request precise below-the-line and above-the-line storage amounts.
- SMFLIMxx parmlib member
- New parmlib member. Your installation can use SMFLIMxx to set rules for the REGION and MEMLIMIT values in job steps, or cancel job steps that violate the rules.
These changes include new parameter input fields for the IEFUSI exit routine. If your installation uses an IEFUSI exit routine to control job region size, it is recommended that you examine the routine for possible changes that you might need to make.
- If the REGIONX keyword is used, the "region requested" value in sub-word
2 (as pointed to by word 5) is updated to contain a value based on
the two values that were supplied on the REGIONX keyword. This change
allows an existing exit routine to continue to receive the total amount
of storage that was requested by the job step. Specifically, the value
now contains either of the following values:
- A value of 0 when the REGIONX second parameter is 0M, 0K, or 0G
- The larger of the specified values when the REGIONX second parameter is not 0M, 0K, or 0G
If the REGIONX keyword is not used, the IEFUSI input parameter list contains one "region requested" value in sub-word 2. This behavior is the same as in previous releases of z/OS.
- For job steps that include the REGIONX keyword, sub-word 1, bit 3 (as pointed to by word 5), indicates that separate values are also available. Here, two more words are provided, sub-word 7 and 8 (as pointed to by word 5), which provide the below-the-line and above-the-line values on the REGIONX keyword.
If the total size indicated in sub-word 2 is not specific enough for your purposes, you can have your exit routine can use the values in sub-word 7 and 8 to set the existing below- and above-the-line output fields in sub-words 2, 3, 4, and 5, as pointed to by word 5 of the input parameter list.
No additions or changes to the output parameter list are needed for REGIONX-related processing. The output parameter list allows for specifying separate above- and below-the-line values, as in previous releases of z/OS.
After the IEFUSI exit routine runs, the system checks the SMFLIMxx member for rules that might override region limits. This processing allows the existing IEFUSI exit to continue to set region and MEMLIMIT values for its various functions, including functions that are not supported by SMFLIMxx, such as setting limits on data space blocks. The SMFLIMxx member can be used to set values for new work or to override IEFUSI values for changes to existing work, thus reducing the need for more IEFUSI exit code changes.
In some cases, however, your installation might require that the IEFUSI exit routine make the final determination. If so, the exit routine can set a new flag (sub-word 1, bit 4, as pointed to by word 5) to bypass the SMFLIMxx rules. This bit essentially disables the SMFLIMxx processing for the current job step.
Table 1 provides more details about the migration action. Use this information to plan your changes to the system.
Element or feature: | BCP |
---|---|
When change was introduced: | z/OS V2R2. |
Applies to migration from: | z/OS V2R1 and z/OS V1R13. |
Timing: | Before the first IPL of z/OS V2R2. |
Is the migration action required? | No, but recommended to ensure that users who specify a REGIONX value in their JCL receive the correct storage allocation, according to your installation's requirements. |
Target system hardware requirements: | None. |
Target system software requirements: | None. |
Other system (coexistence or fallback) requirements: | None. |
Restrictions: | None. |
System impacts: | None. |
Related IBM® Health Checker for z/OS® check: | None. |
Steps to take
- If your installation uses an IEFUSI exit routine, examine it to
determine whether changes are required for the REGIONX keyword and
SMFLIMxx member processing.
It is possible that no action is needed, if the decisions made by the exit routine are generic, such as setting the region above-the-line value 128 MB for all job steps. If the exit sets storage values using sub-word 2 (as pointed to by word 5) and a job uses REGIONX, the exit continues to set the desired value. Here, the REGIONX value is ignored and the IEFUSI selected storage value is used.
SMFLIMxx processing, if activated by specifying SMFLIM= as part of IPL parameters or through the SET SMFLIM= operator command, overrides the IEFUSI exit-returned values, if environmental conditions match the job step's current environment.
- If you determine that your IEFUSI exit routine requires updating,
you can modify your routine by using the new values in the input parameter
list. For example, you can have your exit routine do the following:
- Use the new REGIONX values for below- and above-the-line storage for region size determinations. These values are provided in sub-word 7 and 8 (as pointed to by word 5), when sub-word 1, bit 3 is set to 1.
- Bypass SMFLIMxx processing for certain jobs by setting sub-word 1, bit 4 (as pointed to by word 5).
Or, you can remove all region and MEMLIMIT processing from your routine, and create SMFLIMxx statements to limit the REGION and MEMLIMIT values. Here, you might retain your routine to perform other types of processing, such as setting limits on data space blocks.
Reference information
For more information, see z/OS MVS Installation Exits.