z/OS MVS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


IEFU29 — SMF Dump Exit

z/OS MVS Installation Exits
SA23-1381-00

The SMF dump exit IEFU29 is invoked when the current recording data set cannot hold any more records, since the SMF writer routine automatically switches recording from the active SMF data set to an empty SMF data set. This exit is also invoked when the writer switches recording data sets as a result of the SWITCH SMF command. A return code from this exit routine indicates whether a message that the SMF data set requires dumping should be suppressed or not.

You can use IEFU29 to:
  • Issue the WTO macro to request that the operator start the dump program.
  • Initiate the dump program by submitting a job request to an internal reader.

IEFU29 will also be invoked during SMF initialization for alternate data sets that are not empty.

Defining the Exit in SMFPRMxx

To allow the system to invoke IEFU29, define the exit in the SMF parmlib member (SMFPRMxx). Specify IEFU29 on the EXITS option of the SUBSYS parameter for the STC subsystem. If your installation chooses not to define a SUBSYS parameter for STC, you can specify IEFU29 on the EXITS option of the SYS parameter.

For more information about coding the EXITS option, see the description of SMFPRMxx in z/OS MVS Initialization and Tuning Reference.

Controlling the Exit Routine Through the Dynamic Exits Facility

IBM® has defined the IEFU29 installation exit to the dynamic exits facility. You can refer to the exit by the name SYS.IEFU29 or SYSyyy.IEFU29. See the description of the SMFPRMxx parmlib member in z/OS MVS Initialization and Tuning Reference for an explanation of the naming conventions for SMF exit routines. You can use the EXIT statement of the PROGxx parmlib member, the SETPROG EXIT operator command, or the CSVDYNEX macro to control this exit and its exit routines.

To define IEFU29 to the dynamic exits facility, you must specify the exit in both PROGxx and SMFPRMxx. The system does not call the exit if it is defined in PROGxx only. If you do not plan to use the dynamic exits facility for this exit, you need only define IEFU29 in SMFPRMxx.

If you do not associate any exit routines with exit IEFU29 in PROGxx, the system defaults to using the exit routine name that matches the exit name (IEFU29).

If you associate exit routines with this exit in PROGxx, the system does not use the default exit routine. If you need the default exit routine, you should explicitly add it to PROGxx.

You can use the ADDABENDNUM and ABENDCONSEC parameters on the CSVDYNEX REQUEST=ADD macro or the ABENDNUM parameter of the SETPROG EXIT operator command to limit the number of times the exit routine abnormally ends before it becomes inactive. An abend is counted when both of the following conditions exist:
  • The exit routine does not provide recovery, or the exit routine does provide recovery but percolates the error
  • The system allows a retry; that is, the recovery routine is entered with bit SDWACLUP off.
By default, the system does not disable the exit routine.

Exit Routine Environment

IEFU29 receives control in the following environment:
  • Enabled for interrupts.
  • In supervisor state with PSW key 0.
  • In AMODE 24 or 31: When the SMF data set name is in the SYS1.MANx format.
  • In AMODE 31: When the SMF data set name is in a format other than SYS1.MANx.
  • In the SMF address space.

Exit Recovery

IBM strongly recommends that you set up an ESTAEX recovery routine to handle errors that might occur during the execution of IEFU29.

An ESTAE-type recovery routine is set up by the module that calls IEFU29; the recovery routine, if it gets control, will prevent SMF from ending if the exit routine abnormally ends.

Whether or not the exit routine continues to be invoked depends on the abend processing of the dynamic exits facility.

Exit Routine Processing

While the SMF writer records on one data set, the others can be written out (or cleared). As long as one inactive data set is empty when the active data set becomes full, the SMF writer continues to record. If none is available, no further recording takes place.

The SMF dump exit receives control from the SMF writer when an SMF data set becomes full. IEFU29 returns a code specifying that the control program either issue or suppress the dump message (IEE362A, IEE362I, IEE391A or IEE392I).

Programming Considerations

IEFU29 must be reenterable and refreshable because PLPA pages are stolen. That is, they can be paged in but not paged out, and subsequent page-ins overlay any code changes.

Note: IEFU29 runs in the SMF address space which runs under the MSTR subsystem rather than JES. Therefore, jobs submitted to the internal reader from IEFU29 will run under MSTR rather than JES. To have a job run under JES, you must request that the job run on JES rather than the MSTR subsystem. For more information on submitting a job request to an internal reader, see z/OS MVS Using the Subsystem Interface.

Macro Instructions and Restrictions: IEFU29 can issue the WTOR macro (for example, to request the operator to start the dump program). When issuing the WTOR macro, specify LONG=YES on the WAIT macro.

IEFU29 cannot use the SMFWTM or SMFEWTM macro to write records to the SMF data set.

Entry Specifications

SMF passes to IEFU29 the address of the name of the SMF data set that requires dumping; see Figure 1.

Registers at Entry: The contents of the registers on entry to the exit are as follows.

Register
Contents
0
Not applicable
1
Address of the name of the SMF data set
2-12
Not applicable
13
Register save area
14
Return address
15
Entry point address of IEFU29
Parameter Descriptions: Register 1 points to the following address:
Word 1
The address of the 44-character field that contains the name of the SMF data set that requires dumping. This field is left-justified and padded on the right with blanks.
Figure 1. IEFU29 Input Parameter Structure
IEFU29 Input Parameter Structure

Return Specifications

A return code from IEFU29 indicates whether the dump message (IEE362A, IEE362I, IEE391A or IEE392I) is to be issued.

If you associate multiple exit routines with IEFU29, you can specify how the return information is to be handled using the ATTRIB KEEPRC function of the SETPROG EXIT command, the EXIT statement of PROGxx, or CSVDYNEX services. If multiple exit routines match the ATTRIB KEEPRC criteria, the system returns information from the exit routine that finished first.

If you do not specify the ATTRIB KEEPRC function, the system returns the information from the exit routine whose return value was the greatest. If multiple exit routines return with the same highest value, the return information from the exit routine that finished first will be returned.

If you associate multiple exit routines with exit IEFU29, and any of those exit routines return with a value of 4, the dump message (IEE362A, IEE362I, IEE391A or IEE392I) is not issued.

Registers at Exit: Upon return from the exit processing, the register contents must be as follows.

Register
Contents
0-14
Not applicable
15
One of the following return codes:
Return Code
Explanation
4
Indicates that the dump message (IEE362A, IEE362I, IEE391A or IEE392I ) is not to be issued.
Other than 4
The message is to be written.

Coded Example of the Exit Routine

IEFU29 exit routine is entered when an SMF dataset is switched. On entry, the SMF data set name which was recording before the switch is passed to the routine. Depending on which data set name is passed, the sample exit uses SVC 34 to issue a START DUMPXY,DSNAME=dsname operator command. Using a WTO, this exit routine informs the operator that the command has been issued, the DUMPXY procedure saves the data in a data set and clears the SMF recording data set.

Start of changeFigure 2 is an example of a SMF Dump Exit.
Figure 2. Example: SMF Dump Exit
D SMF
IFA714I 18.35.11 SMF STATUS
          LOGSTREAM NAME BUFFERS STATUS
        A-IFASMF.STRIPE.TYPDFLT 37485 CONNECTED
        A-IFASMF.#@$#PLEX.TYPRMF 12464 CONNECTED
I SMF
IFA705I SWITCH SMF PROCESS HAS SYNCHRONIZED THE BUFFERED LOGSTREAM RECORDS.
* * * * * * * * * * * * * * * * * * * * * * *
*                                           *
* SMF LOGSTREAM SWITCH EXIT                 *
*                                           *
* * * * * * * * * * * * * * * * * * * * * * *
        LsName(1): IFASMF.STRIPE.TYPDFLT
        LsName(2): IFASMF.#@$#PLEX.TYPRMF
End of change

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014