Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system
First Claim
1. A method of avoiding false detection of missing I/O interrupt signals by an operating system (OS) for use in a computer arrangement having at least one OS and a missing interrupt handler (MIH) process for detecting a potentially failed input/output (I/O) device operation for an I/O request issued by the OS to an I/O subsystem, the MIH process comprising the steps of:
- sending by the OS to the I/O subsystem a first I/O request and a second I/O request, the first I/O request associated with a first I/O program containing at least one command for controlling an I/O device, the second I/O request associated with a second I/O program containing at least one command for controlling the I/O device,operating the I/O device under control of the first I/O program for the first I/O request, delaying operation of the second I/O request in the I/O subsystem because of the I/O device currently operating for the first I/O request,measuring MIH time for a primary MIH timeout period starting when the second I/O request is made to wait by the I/O subsystem,signalling a device-completion interrupt to the OS when and if the I/O device successfully completes operation for the first I/O request,terminating the measurement step if the device-completion interrupt for the first I/O request is received by the OS before measuring the end of the primary MIH timeout period,but scanning the first I/O program for a long command requiring the I/O device to operate for an excessive amount of time if no device-end interrupt is received by the OS before measuring the end of the primary MIH timeout period,continuing measuring the MIH time for a secondary MIH timeout period if the scanning step finds the long command in the first I/O program, andterminating the continuing measuring step if the device-completion interrupt for the first I/O request is received by the OS before the measuring step indicates the end of the secondary MIH timeout period.
1 Assignment
0 Petitions
Accused Products
Abstract
Missing interrupt handler (MIH) internal software features support a variable MIH timeout for I/O requests issued by an operating system (OS), when the same OS is involved with both an executing I/O request and a waiting I/O request. The OS varies its MIH timeout period without a signal from any I/O entity to prevent a false indication of a potential failure in a current I/O device operation. If a current I/O request has not completed when the OS senses the end of a primary MIH timeout period, started when issuing that request, the OS then scans the I/O program of that I/O request for any contained long-running command. (Most I/O requests complete during their primary MIH timeout period.) If a long command is found, the OS extends the MIH timeout period from the primary MIH timeout period to a long MIH timeout period, The latter gives the I/O device more time to complete its operation before the OS indicates it has a potential I/O error condition. But if the OS does not detect any long-running command in its scan of the I/O program, the OS does not extend the primary MIH timeout period, and then the OS declares a potential I/O error condition for the current I/O device operation and invokes a conventional I/O error recovery program, such as retrying that I/O request for a number of times until it runs without error or until a permanent error condition is determined.
-
Citations
7 Claims
-
1. A method of avoiding false detection of missing I/O interrupt signals by an operating system (OS) for use in a computer arrangement having at least one OS and a missing interrupt handler (MIH) process for detecting a potentially failed input/output (I/O) device operation for an I/O request issued by the OS to an I/O subsystem, the MIH process comprising the steps of:
-
sending by the OS to the I/O subsystem a first I/O request and a second I/O request, the first I/O request associated with a first I/O program containing at least one command for controlling an I/O device, the second I/O request associated with a second I/O program containing at least one command for controlling the I/O device, operating the I/O device under control of the first I/O program for the first I/O request, delaying operation of the second I/O request in the I/O subsystem because of the I/O device currently operating for the first I/O request, measuring MIH time for a primary MIH timeout period starting when the second I/O request is made to wait by the I/O subsystem, signalling a device-completion interrupt to the OS when and if the I/O device successfully completes operation for the first I/O request, terminating the measurement step if the device-completion interrupt for the first I/O request is received by the OS before measuring the end of the primary MIH timeout period, but scanning the first I/O program for a long command requiring the I/O device to operate for an excessive amount of time if no device-end interrupt is received by the OS before measuring the end of the primary MIH timeout period, continuing measuring the MIH time for a secondary MIH timeout period if the scanning step finds the long command in the first I/O program, and terminating the continuing measuring step if the device-completion interrupt for the first I/O request is received by the OS before the measuring step indicates the end of the secondary MIH timeout period. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification