EFFICIENT HANDLING OF QUEUED-DIRECT I/O REQUESTS AND COMPLETIONS
First Claim
1. A computer program product for handling of queued-direct input/output (QDIO) requests at an adapter in communication with an I/O device, the computer program product comprising:
- a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for implementing a method, the method comprising;
accessing a queue comprising one or more storage block address lists (SBALs), each SBAL comprised of a plurality of storage block address list entries (SBALEs) and associated with a storage list status block (SLSB);
reading an SBAL count in one of the SBALEs, the SBAL count indicating a number of the SBALs forming an I/O request to the I/O device; and
in response to determining that the SBAL count is greater than one, prefetching a number of the SBALs from the queue and associated SLSBs equivalent to the SBAL count without waiting for a notification of completion of each of the SBALs forming the I/O request, and transitioning states of the associated SLSBs from adapter-owned to program-owned.
5 Assignments
0 Petitions
Accused Products
Abstract
Computer program products and methods for efficient handling of queued-direct input/output (QDIO) requests and completions at an adapter in communication with an I/O device are provided. A method includes accessing a queue with one or more storage block address lists (SBALs), where each SBAL includes a plurality of storage block address list entries (SBALEs) and is associated with an SLSB. The method further includes reading an SBAL count in one of the SBALEs, where the SBAL count indicates a number of the SBALs forming an I/O request to the I/O device. In response to determining that the SBAL count is greater than one, a number of the SBALs from the queue and associated SLSBs equivalent to the SBAL count are prefetched without waiting for a notification of completion of each of the SBALs forming the I/O request, and states of the associated SLSBs transition from adapter-owned to program-owned.
-
Citations
23 Claims
-
1. A computer program product for handling of queued-direct input/output (QDIO) requests at an adapter in communication with an I/O device, the computer program product comprising:
a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for implementing a method, the method comprising; accessing a queue comprising one or more storage block address lists (SBALs), each SBAL comprised of a plurality of storage block address list entries (SBALEs) and associated with a storage list status block (SLSB); reading an SBAL count in one of the SBALEs, the SBAL count indicating a number of the SBALs forming an I/O request to the I/O device; and in response to determining that the SBAL count is greater than one, prefetching a number of the SBALs from the queue and associated SLSBs equivalent to the SBAL count without waiting for a notification of completion of each of the SBALs forming the I/O request, and transitioning states of the associated SLSBs from adapter-owned to program-owned. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A computer-implemented method for handling of queued-direct input/output (QDIO) requests at an adapter in communication with an I/O device, comprising:
-
accessing a queue comprising one or more storage block address lists (SBALs), each SBAL comprised of a plurality of storage block address list entries (SBALEs) and associated with a storage list status block (SLSB); reading an SBAL count in one of the SBALEs, the SBAL count indicating a number of the SBALs forming an I/O request to the I/O device; and in response to determining that the SBAL count is greater than one, prefetching a number of the SBALs from the queue and associated SLSBs equivalent to the SBAL count without waiting for a notification of completion of each of the SBALs forming the I/O request, and transitioning states of the associated SLSBs from adapter-owned to pro gram-owned. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An adapter for handling queued-direct input/output (QDIO) requests, comprising:
-
an adapter interface configured to communicate with an I/O device and a queue in a host system, the queue comprising one or more storage block address lists (SBALs), each SBAL comprised of a plurality of storage block address list entries (SBALEs) and associated with a storage list status block (SLSB); and adapter logic configured to read an SBAL count in one of the SBALEs, the SBAL count indicating a number of the SBALs forming an I/O request to the I/O device, and the adapter logic is further configured to prefetch a number of the SBALs from the queue and associated SLSBs equivalent to the SBAL count without waiting for a notification of completion of each of the SBALs forming the I/O request. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A computer program product for handling of queued-direct input/output (QDIO) requests at an adapter in communication with an I/O device, the computer program product comprising:
a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for implementing a method, the method comprising; accessing a queue comprising one or more storage block address lists (SBALs), each SBAL comprised of a plurality of storage block address list entries (SBALEs); reading a fragment type in multiple SBALEs of a common SBAL, the fragment type indicating whether each SBALE is a first SBALE of an I/O request to the I/O device, a middle SBALE of the I/O request, and a last SBALE of the I/O request; locating multiple I/O requests in the common SBAL according to the fragment type in the multiple SBALEs; and processing the multiple I/O requests in the common SBAL. - View Dependent Claims (22, 23)
Specification