Examine your IEFUSI exit routine for possible changes

Description

z/OS V2R2 includes a number of functional enhancements to support improved region management, including:
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.

Note the following changes in the exit input parameter list:
  • 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.

Note: A sample IEFUSI exit routine is provided in SYS1.SAMPLIB in member IEEUSI. For more information about changes that might be needed, see the commented sections in the sample IEFUSI exit routine.

Table 1 provides more details about the migration action. Use this information to plan your changes to the system.

Table 1. Information about this migration action
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

Follow these steps:
  • 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.