System and method for efficient implementation of a shared receive queue
AssigneeInternational Business Machines Corporation
InventorsGiora Biran, John Hufferd, Zorik Machulsky, Vadim Makhervaks, Renato Recio
Life of this patent
Estimating the term…
Abstract
A method, computer program product, and a data processing system for posting and retrieving WQEs to a shared receive queue in a manner that alleviates head-of-line blocking issues is provided. The present invention provides a shared receive queue and a posting routine for allowing non-sequential work request postings in the shared receive queue. Additionally, a fetch routine is provided for non-sequential fetching of work queue elements from the shared receive queue.
Claims24
A method that facilitates non-sequential posting and retrieving of work queue elements to and from a queue, the method comprising the computer implemented steps of:
- referencing, by a software entity, an entry of a shared receive queue comprising a plurality of entries;
- responsive to referencing the entry, evaluating, by the software entity, a work queue element maintained in the entry;
- sequentially traversing and evaluating, by the software entity, entries of the plurality of entries until locating a first entry maintaining a work queue element having a state indicator indicting the work queue element has completed processing;
- and
- responsive to locating the first entry, writing a work request to the first entry by the software entity.
A computer program product in a computer readable medium for facilitating non-sequential posting and retrieving of work queue elements to and from a queue, the computer program product comprising:
- first instructions that reference an entry of a shared receive queue comprising a plurality of entries;
- second instructions that, responsive to the first instructions referencing the entry, evaluate a work queue element maintained by the entry;
- third instructions that sequentially traverse and evaluate entries of the plurality of entries until locating a first entry maintaining a work queue element having a state indicator indicting the work queue element has completed processing;
- and
- fourth instructions that, responsive to the third instructions locating the first entry, write a work request to the first entry.
A data processing system for facilitating non-sequential posting and retrieving of work queue elements to and from a shared receive queue, comprising:
- a channel adapter comprising a shared receive queue having a plurality of entries;
- a memory that contains a software entity and a set of instructions for writing work queue elements to the shared receive queue;
- and
- a processing unit that, responsive to execution of the set of instructions, references an entry of the shared receive queue, evaluates a work queue element maintained by the entry, sequentially traverses and evaluates entries of the plurality of entries until locating a first entry maintaining a work queue element having a state indicator indicting the work queue element has completed processing and, responsive to locating the first entry, writes a work request to the first entry.
Dependencies are inferred from the claim text.