Missing interrupt handler (MIH)

The MIH detects missing interrupt conditions. The following device conditions qualify as missing interrupts if the specified time interval has elapsed:
  • Primary status interrupt pending
  • Secondary status interrupt pending
  • Start pending condition
  • Idle with work queued
  • Mount pending
If the MIH detects a missing interrupt, processing will be done that is dependent on the detected condition. For any detected missing interrupt, the MIH performs one or more of the following actions:
  • Invokes the device dependent MIH exit (if it exists)
  • Records the condition in the SYS1.LOGREC data set
  • Notifies the system operator
  • Clears the condition
  • Simulates an interrupt
  • Redrives the device
  • Requeues the I/O request
When specifying time intervals, consider the following:
  • The MIH detects a missing interrupt condition within 1 second of the time interval that you specify.
  • If the time interval is too short, a false missing interrupt can occur and cause early termination of the channel program. For example, if a 30-second interval is specified for a tape drive, a rewind might not complete before the MIH detects a missing interrupt.
  • If the time interval is too long, a job or system could hang because the MIH has not yet detected a missing interrupt. For example, if a 15-minute time interval is specified for a tape drive used as an IMS™ log tape, the MIH could delay IMS for 15 minutes because of MIH detection.
  • During IPL (if the device is defined to be ONLINE) or during the VARY ONLINE process, some devices may present their own MIH timeout values, via the primary or secondary MIH timing enhancement contained in the self-describing data for the device. The primary MIH timeout value is used for most I/O commands, but the secondary MIH timeout value may be used for special operations such as long-busy conditions or long running I/O operations. Any time a user specifically sets a device or device class to have an MIH timeout value that is different from the IBM-supplied default for the device class, that value will override the device-established primary MIH time value. This implies that if an MIH time value that is equal to the MIH default for the device class is explicitly requested, IOS will not override the device-established primary MIH time value. To override the device-established primary MIH time value, you must explicitly set a time value that is not equal to the MIH default for the device class.
Note:
  1. To cancel MIH processing for specific devices, specify 00:00 for the time interval value (mm:ss) defined for the associated devices.
  2. During IOS recovery processing, the system will override your time interval specification and may issue MIH messages and MIH error records in SYS1.LOGREC at this IOS determined interval.
  3. Any dynamic change that causes a device's UCB to be deleted and then re-added will cause the device's MIH time interval to be reset to the default MIH setting for its device class. Once the dynamic change is completed, users should reissue the SETIOS MIH MVS™ command to reestablish any specific MIH setting for the device. For more information about the SETIOS MIH command, see z/OS MVS System Commands.