Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists
First Claim
1. A method in a channel adapter configured for communications with a server network system, the method comprising:
- first storing by the channel adapter, in a table configured for storing multiple entries, an entry having a work queue entry field that specifies a transmitted work queue entry in response to completed transmission by the channel adapter into the server network system of a corresponding transmit packet associated with the transmitted work queue entry, the entry including at least first and second link fields, the first storing of the entry including storing in the first link field a first entry identifier for one of the transmitted work queue entry or a subsequently transmitted work queue entry having a corresponding transmit packet transmitted by the channel adapter into the server network system relative to the transmitted work queue entry, wherein the first entry identifiers in the respective first link fields form a first linked list specifying a transmit sequence of the transmitted work queue entries having respective transmit packets transmitted by the channel adapter into the server network system;
detecting by the channel adapter an acknowledgement from the server network system for at least a first of the transmitted work queue entries stored in the table; and
generating in the table, by the channel adapter, a second linked list specifying an acknowledgement sequence of the transmitted work queue entries by second storing, in the second link field of the entry corresponding to the first transmitted work queue entry, a second entry identifier in response to the detecting of the acknowledgement, the second entry identifier specifying one of the first transmitted work queue entry or an entry having received a subsequent acknowledgement relative to the detected acknowledgement.
1 Assignment
0 Petitions
Accused Products
Abstract
A channel adapter includes a work queue entry table having entries configured for storing work queue entries awaiting respective acknowledgements. Each entry includes a work queue entry field for storing a corresponding work queue entry, and first and second link fields for respective linked lists. The channel adapter also includes a table manager configured for creating the linked lists, based on prescribed network conditions, for example for storage of a first list specifying a transmission order of the work queue entry fields and a second list specifying an acknowledgement order. Hence, the multiple link fields enable the work queue entry table to be shared for respective linked lists specifying respective attributes relative to the stored work queue entries.
-
Citations
10 Claims
-
1. A method in a channel adapter configured for communications with a server network system, the method comprising:
-
first storing by the channel adapter, in a table configured for storing multiple entries, an entry having a work queue entry field that specifies a transmitted work queue entry in response to completed transmission by the channel adapter into the server network system of a corresponding transmit packet associated with the transmitted work queue entry, the entry including at least first and second link fields, the first storing of the entry including storing in the first link field a first entry identifier for one of the transmitted work queue entry or a subsequently transmitted work queue entry having a corresponding transmit packet transmitted by the channel adapter into the server network system relative to the transmitted work queue entry, wherein the first entry identifiers in the respective first link fields form a first linked list specifying a transmit sequence of the transmitted work queue entries having respective transmit packets transmitted by the channel adapter into the server network system; detecting by the channel adapter an acknowledgement from the server network system for at least a first of the transmitted work queue entries stored in the table; and generating in the table, by the channel adapter, a second linked list specifying an acknowledgement sequence of the transmitted work queue entries by second storing, in the second link field of the entry corresponding to the first transmitted work queue entry, a second entry identifier in response to the detecting of the acknowledgement, the second entry identifier specifying one of the first transmitted work queue entry or an entry having received a subsequent acknowledgement relative to the detected acknowledgement. - View Dependent Claims (2, 3, 4, 8, 9)
-
-
5. A channel adapter comprising:
-
a table configured for storing entries identifying respective work queue entries having respective transmit packets been transmitted by the channel adapter into a server network system according to a service protocol requiring receipt of an acknowledgment message, each entry including; (1) a work queue entry field configured for specifying the corresponding work queue entry having a corresponding transmit packet transmitted by the channel adapter into the server network system, (2) a first link field configured for specifying a first entry identifier referencing one of the corresponding entry or a subsequently transmitted work queue entry having a corresponding transmit packet transmitted by the channel adapter into the server network system relative to the corresponding entry, and (3) a second link field configured for storing a second entry identifier referencing one of the corresponding entry or an entry having received a subsequent acknowledgement; an acknowledgement detector configured for detecting the acknowledgements from the server network system for the work queue entries; and a table manager configured for adding the table entries in response to completed transmission of the respective transmit packets for the work queue entries into the server network system, the table manager configured for inserting the corresponding first entry identifier in response to the corresponding transmit packet of the subsequently transmitted work queue entry having been transmitted by the channel adapter into the server network system, the table manager configured for inserting the corresponding second entry identifier in response to the entry having received the subsequent acknowledgement, the first and second link fields forming first and second linked lists identifying a transmit sequence of the transmitted work queue entries having respective transmit packets transmitted by the channel adapter into the server network system, and an acknowledgement sequence of the transmitted work queue entries, respectively; wherein the channel adapter is implemented as an integrated circuit. - View Dependent Claims (6, 7, 10)
-
Specification