I/O timing

The I/O timing facility abnormally ends the following I/O requests that exceeded the I/O timing limits that are specified for a device:
  • Queued requests that are waiting for execution.
  • Start pending requests.
  • Active requests.

The I/O timing facility can be enabled to trigger a HyperSwap® when an I/O timeout occurs for a device that is monitored for HyperSwap. Optionally, the user can specify whether a timed-out I/O operation that initiates a HyperSwap is to be terminated or allowed to be started on the swap 'TO' device.

For any I/O request that exceeds the I/O timing limit, the system performs the following actions:
  • When the I/O timing trigger is not enabled for HyperSwap, or is enabled and the IOTTERM option is also enabled:
    • Abnormally ends the I/O request that exceeded the time limit, and does not requeue the request for execution.
    • Issues a message.
    • Writes an entry in the SYS1.LOGREC data set for the abnormally ended I/O request.
  • When the I/O timing trigger is enabled for HyperSwap and the IOTTERM option is disabled:
    • Abnormally ends the I/O request that exceeded the time limit, and requeues the request for later execution on the swap 'TO' device at the completion of the HyperSwap.
    • Issues a message for the first timeout condition that triggers a HyperSwap on the associated DASD subsystem.
    • Writes an entry in the SYS1.LOGREC data set for the abnormally ended I/O request.

Installations that want the system to issue an I/O timing message and record in SYS1.LOGREC, but do not want to abnormally end the I/O request can do so with I/O timing message-only processing. Message-only processing allows the system to detect I/O timeout conditions, but, provides the ability to allow the user to decide which I/O requests should be terminated.

The system records data associated with the original I/O error, if any exists.

IBM recommendations for I/O timing limits: Within 1 second, the system abnormally ends an I/O request that exceeded the I/O timing limit. IBM® suggests setting your I/O timing limits to 6 seconds or longer. An I/O timing limit of less than 6 seconds can result in a loss of service information that is required to correct a DASD subsystem hardware failure that triggered the long I/O event. In addition, a limit of less than 6 seconds can result in a loss of SYS1.LOGREC records.
Notes:
  1. To cancel the I/O timing limit, (that is, to have no time limit on I/O requests) specify IOTIMING=00:00.
  2. I/O timing is only supported for non-paging DASD devices and for TAPE devices. I/O timing for TAPE devices requires MSGONLY=YES to be in effect because full I/O timing support is not available.
  3. An I/O timeout will not trigger a HyperSwap if message-only recovery is specified for the device or as the result of a timeout condition that is specified by an I/O driver program.