Receive queue device with efficient queue flow control, segment placement and virtualization mechanisms
First Claim
1. A method, in a data processing system, for managing a work queue, comprising:
- receiving a work request;
creating a receive work queue entry in a receive work queue in response to receipt of the work request;
sending a notification to an Internet Protocol Suite Offload Engine (IPSOE) notifying the IPSOE of the creation of the receive work queue entry; and
processing a completion queue entry in a completion queue in response to receiving a notification that the completion queue entry has been created by the IPSOE in response to processing of the receive work queue entry.
0 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for offloading the management of receive queues in a split (e.g. split socket, split iSCSI, split DAFS) stack environment, including efficient queue flow control and TCP/IP retransmission support. An Upper Layer Protocol (ULP) creates receive work queues and completion queues that are utilized by an Internet Protocol Suite Offload Engine (IPSOE) and the ULP to transfer information and carry out send operations. As consumers initiate receive operations, receive work queue entries (RWQEs) are created by the ULP and written to the receive work queue (RWQ). The ISPOE is notified of a new entry to the RWQ and it subsequently reads this entry that contains pointers to the data that is to be received. After the data is received, the IPSOE creates a completion queue entry (CQE) that is written into the completion queue (CQ). After the CQE is written, the ULP subsequently processes the entry and removes it from the CQE, freeing up a space in both the RWQ and CQ. The number of entries available in the RWQ are monitored by the ULP so that it does not overwrite any valid entries. Likewise, the IPSOE monitors the number of entries available in the CQ, so as not overwrite the CQ.
47 Citations
40 Claims
-
1. A method, in a data processing system, for managing a work queue, comprising:
-
receiving a work request;
creating a receive work queue entry in a receive work queue in response to receipt of the work request;
sending a notification to an Internet Protocol Suite Offload Engine (IPSOE) notifying the IPSOE of the creation of the receive work queue entry; and
processing a completion queue entry in a completion queue in response to receiving a notification that the completion queue entry has been created by the IPSOE in response to processing of the receive work queue entry. - View Dependent Claims (2, 3, 4, 28)
-
-
5-27. -27. (canceled)
-
29-30. -30. (canceled)
-
31. An apparatus in a data processing system, for managing a work queue, comprising:
-
means for receiving a work request;
means for creating a receive work queue entry in a receive work queue in response to receipt of the work request;
means for sending a notification to an Internet Protocol Suite Offload Engine (IPSOE) notifying the IPSOE of the creation of the receive work queue entry; and
means for processing a completion queue entry in a completion queue in response to receiving a notification that the completion queue entry has been created by the IPSOE in response to processing of the receive work queue entry. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A computer program product in a computer readable medium in a data processing system, for managing a work queue, comprising:
-
first instructions for receiving a work request;
second instructions for creating a receive work queue entry in a receive work queue in response to receipt of the work request;
third instructions for sending a notification to an Internet Protocol Suite Offload Engine (IPSOE) notifying the IPSOE of the creation of the receive work queue entry; and
fourth instructions for processing a completion queue entry in a completion queue in response to receiving a notification that the completion queue entry has been created by the IPSOE in response to processing of the receive work queue entry. - View Dependent Claims (37, 38, 39, 40)
-
Specification