Method and system for predefined suspension and resumption control over I/O programs
First Claim
1. A method for providing control within a data processing system, said data processing system comprising one or more central processing units, one or more input/output devices and a memory coupled to said one or more central processing units and said one or more input/output devices, said method comprising:
- executing one or more input/output operations within said data processing system;
suspending execution of said one or more input/output operations by executing a suspend operation, said suspend operation executing independently of said one or more input/output operations,resuming said execution of said one or more input/output operations, andsuspending said execution of said one or more input/output operations which has been resumed when a predefined number of channel command words has been processed.
1 Assignment
0 Petitions
Accused Products
Abstract
Execution of input/output operations is controlled by one or more suspend and/or resume mechanisms. Suspension of an input/output operation is accomplished by one of a number of mechanisms including, for instance, a START SUBCHANNEL instruction with execution limits, a SUSPEND SUBCHANNEL instruction with or without a suspension time limit, or a suspend subchannel channel command word with or without a suspension time limit. Subsequent to suspending execution of a channel program, execution can be resumed automatically or by issuing a RESUME SUBCHANNEL instruction with limits or a resume subchannel channel command word with limits.
177 Citations
16 Claims
-
1. A method for providing control within a data processing system, said data processing system comprising one or more central processing units, one or more input/output devices and a memory coupled to said one or more central processing units and said one or more input/output devices, said method comprising:
-
executing one or more input/output operations within said data processing system; suspending execution of said one or more input/output operations by executing a suspend operation, said suspend operation executing independently of said one or more input/output operations, resuming said execution of said one or more input/output operations, and suspending said execution of said one or more input/output operations which has been resumed when a predefined number of channel command words has been processed.
-
-
2. A method for providing control within a data processing system, said method comprising:
-
initiating execution of one or more input/output operations using an instruction controlled by a central processing unit of said data processing system; suspending execution of said one or more input/output operations using said instruction, and said execution of said one or more input/output operations is suspended when a predefined number of channel command words has been processed.
-
-
3. A method for providing control within a data processing system, said method comprising:
-
initiating execution of one or more input/output operations using an instruction controlled by a central processing unit of said data processing system; suspending execution of said one or more input/output operations using said instruction, and storing one or more limits to be used in suspending execution of said one or more input/output operations within a subchannel of said data processing system, and modifying said one or more limits stored within said subchannel.
-
-
4. A method for providing control within a data processing system, said method comprising:
-
initiating execution of a plurality of input/output operations using an instruction controlled by a central processing unit of said data processing system; using one or more of execution limits to determine when said execution of said one or more input/output operations is to be suspended; suspending said execution of said one or input/output operations using said instructions when said one or more execution limits determines said execution is to be suspended; automatically resuming said execution of said one or more input/output operations when a predefined suspension limit is satisfied; each of said one or more input/output operations comprises one or more channel command words, and said one or more execution limits comprises a limit based on a predefined number of channel command words being processed.
-
-
5. A method for providing control within a data processing system, said method comprising:
-
resuming execution of one or more input/output operations that has been suspended, said resuming referencing one or more predefined execution limits; and suspending said execution of said one or more input/output operations that has been resumed when said one or more predefined execution limits has been satisfied, and predefining said one or more predefined execution limits by a command limit based on a predefined number of channel command words to be processed.
-
-
6. A system for providing control within a data processing system, said data processing system comprising one or more central processing units, one or more input/output devices and a memory coupled to said one or more central processing units and said one or more input/output devices, said system comprising:
-
means for executing one or more input/output operations within said data processing system; means for suspending execution of said one or more input/output operations by executing a suspend operation, said suspend operation executing independently of said one or more input/output operations; means for resuming said execution of said one or more input/output operations; and means for suspending said execution of said one or more input/output operations which has been resumed when a predefined number of channel command words has been processed.
-
-
7. A system for providing control within a data processing system, said system comprising:
-
means for initiating execution of one or more input/output operations using an instruction controlled by a central processing unit of said data processing system; means for suspending execution of said one or more input/output operations using said instruction; and each of said one or more input/output operations comprises one or more channel command words, and wherein said execution of said one or more input/output operations is suspended by said means for suspending when a predefined number of channel command words has been processed.
-
-
8. A system for providing control within a data processing system, said system comprising:
-
means for initiating execution of one or more input/output operations using an instruction controlled by a central processing unit of said data processing system; means for suspending execution of said one or more input/output operations using said instruction; and said means for initiating further comprises means for storing one or more limits to be used in suspending execution of said one or more input/output operations within a subchannel of said data processing system; and means for modifying said one or more limits stored within said subchannel.
-
-
9. A system for providing control within a data processing system, said system comprising:
-
means for initiating execution of one or more input/output operations using an instruction controlled by a central processing unit of said data processing system; means for using one or more execution limits to determine when said execution of said one or more input/output operations is to be suspended; means for suspending said execution of said one or more input/output operations using said instruction when said one or more execution limits determines said execution is to be suspended; means for automatically resuming said execution of said one or more input/output operations when a predefined suspension limit is satisfied; and each of said one or more input/output operations comprises one or more channel command words, and said one or more execution limits comprises a limit based on a predefined number of channel command words being processed.
-
-
10. A system for providing control within a data processing system, said system comprising:
-
means for resuming execution of one or more input/output operations that has been suspended, said means for resuming referencing one or more predefined execution limits; means for suspending said execution of said one or more input/output operations that has been resumed when said one or more predefined execution limits has been satisfied; and each of said one or more input/output operations comprises one or more channel command words, and said one or more predefined execution limits comprises a command limit based on a predefined number of channel command words to be processed.
-
-
11. A method for using predetermined conditions to control suspension and resumption of execution of an I/O program by an I/O subsystem (IOSS) in a data processing system, said method comprising:
-
issuing an instruction by a central processing unit (CPU) in said data processing system for requesting execution of an I/O program by the IOSS, the CPU instruction having an operand for locating an operation request control block (ORB) containing fields for storing at least one suspension parameter and at least one resumption parameter for respectively controlling suspension and resumption of execution by the I/O program, the suspension parameter being predefined as a number of processing measurable units for the I/O program, and the resumption parameter being predefined as a number of suspension measurable units for the I/O program; executing the CPU instruction by copying the suspension parameter and the resumption parameter from the ORB into an I/O subchannel selected for use by the I/O program; starting execution of the I/O program by the IOSS; counting by the IOSS processing measurable units during execution of said I/O program from a starting, or a last resumption, of execution by the I/O program; suspending execution of said I/O program when a count by the counting step of the processing measurable units equals or exceeds the suspension parameter copied into the subchannel; starting a count of suspension measurable units for the I/O program when execution is suspended for the I/O program; resuming execution of the I/O program when the count of suspension measurable units equals or exceeds the number of suspension measurable units in the resumption parameter copied into the subchannel, and controlling by the IOSS any number of suspensions and resumptions of execution by the I/O program without IOSS requests to a CPU to control the suspensions and resumptions. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification