z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Understanding Synchronous and Asynchronous Cache Operations

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

You can specify whether to allow the system to process an IXLCACHE request synchronously or asynchronously. For asynchronous processing of a request, you can specify how you want the system to notify you about request completion. To control synchronous or asynchronous processing, use the MODE parameter on IXLCACHE requests. Table 1 lists the options for the MODE parameter.
  • Synchronous Processing
    Synchronous processing of an IXLCACHE request means that your program regains control only when the IXLCACHE request has completed processing. To specify synchronous processing, you can specify one of the following options for MODE:
    • SYNCECB
    • SYNCTOKEN
    • SYNCEXIT
    • SYNCSUSPEND

    The system might need to suspend your program to be able to process the IXLCACHE request synchronously. If you specify MODE=SYNCSUSPEND, the system suspends the program, if necessary, to process the request synchronously. If you specify another synchronous option for MODE and the request cannot be processed synchronously, the system processes the request asynchronously.

    The following conditions can cause the system to process a synchronous IXLCACHE request asynchronously:
    • The necessary resources for the request (for example, a subchannel) are not currently available
    • The BUFFER on the request specifies more than 4096 bytes of buffer storage.
    • The BUFLIST parameter specifies more than one buffer, regardless of the total amount of data for the request.
    • A dump of the structure is in progress.
    • The system might also choose to convert synchronous requests to asynchronous processing, based on performance considerations or other criteria.

    The system indicates its intention to process your synchronous request asynchronously by returning a return code of IXLRETCODEWARNING with a reason code of IXLRSNCODEASYNCH when you issue the IXLCACHE request.

  • Asynchronous Processing
    When the system processes a request asynchronously, your program regains control after it issues the request, and the request runs independently. To specify asynchronous processing, you can specify one of the following options for MODE:
    • ASYNCECB
    • ASYNCTOKEN
    • ASYNCEXIT
    • ASYNCNORESPONSE
    When the request runs asynchronously, you need to determine when it has completed processing. For synchronous requests other than MODE=SYNCSUSPEND, you need to specify how you want to be informed of an asynchronous request completion if the system processes the request asynchronously. You can specify how the system is to inform you when it processes an IXLCACHE request asynchronously in one of the following ways:
    • MODE=SYNCECB or MODE=ASYNCECB to post an event control block (ECB).
    • MODE=SYNCTOKEN or MODE=ASYNCTOKEN to return the request token specified on the IXLFCOMP macro. You issue IXLFCOMP after you issue the IXLCACHE request to obtain information about the results of the request.
    • MODE=SYNCEXIT or MODE=ASYNCEXIT to give control to the complete exit for your program.
    If you do not want to be informed about the completion of an asynchronous request, you can code the following option for some types of requests:
    • MODE=ASYNCNORESPONSE

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014