Transmit completion event batching
First Claim
Patent Images
1. A method for managing data transmission, for use with a host subsystem and a network interface device that can communicate with each other via a communication channel, the host subsystem having first and second transmit descriptor queues, comprising the steps of:
- the network interface device retrieving first data buffer descriptors from the first transmit descriptor queue, each of the first data buffer descriptors identifying a respective transmit data buffer in the host subsystem;
the network interface device retrieving second data buffer descriptors from the second transmit descriptor queue, each of the second data buffer descriptors identifying a respective transmit data buffer in the host subsystem;
the network interface device retrieving data from the transmit data buffers identified by each of the first data buffer descriptors retrieved;
the network interface device retrieving data from the transmit data buffers identified by each of the second data buffer descriptors retrieved;
the network interface device writing a plurality of first transmit completion event descriptors into a first event queue accessible to the host subsystem, each of the first transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from a plurality of the transmit data buffers identified by the first data buffer descriptors; and
the network interface device writing a plurality of second transmit completion event descriptors into the first event queue, each of the second transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from a plurality of the transmit data buffers identified by the second data buffer descriptors,each particular one of the first transmit completion event descriptors containing a queue label identifying the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor.
11 Assignments
0 Petitions
Accused Products
Abstract
Method for managing a data transmit queue, for use with a host and a network interface device. Roughly described, the host writes data buffer descriptors into a transmit descriptor queue, and the network interface device writes events to notify the host when it has completed processing of a transmit data buffer. Each of the transmit completion event descriptors notify the host of completion of a plurality of the transmit data buffers.
109 Citations
26 Claims
-
1. A method for managing data transmission, for use with a host subsystem and a network interface device that can communicate with each other via a communication channel, the host subsystem having first and second transmit descriptor queues, comprising the steps of:
-
the network interface device retrieving first data buffer descriptors from the first transmit descriptor queue, each of the first data buffer descriptors identifying a respective transmit data buffer in the host subsystem; the network interface device retrieving second data buffer descriptors from the second transmit descriptor queue, each of the second data buffer descriptors identifying a respective transmit data buffer in the host subsystem; the network interface device retrieving data from the transmit data buffers identified by each of the first data buffer descriptors retrieved; the network interface device retrieving data from the transmit data buffers identified by each of the second data buffer descriptors retrieved; the network interface device writing a plurality of first transmit completion event descriptors into a first event queue accessible to the host subsystem, each of the first transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from a plurality of the transmit data buffers identified by the first data buffer descriptors; and the network interface device writing a plurality of second transmit completion event descriptors into the first event queue, each of the second transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from a plurality of the transmit data buffers identified by the second data buffer descriptors, each particular one of the first transmit completion event descriptors containing a queue label identifying the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for managing data transfer between a host subsystem and a network interface device that can communicate with each other via a communication channel, the host subsystem having at least one transmit descriptor queue including a first transmit descriptor queue, each of the transmit descriptor queues has associated therewith a respective queue label, comprising the steps of:
-
the network interface device retrieving first data buffer descriptors from the first transmit descriptor queue, each of the first data buffer descriptors identifying a respective transmit data buffer in the host subsystem; the network interface device retrieving data from the transmit data buffers identified by each of the first data buffer descriptors retrieved; and the network interface device writing a plurality of first transmit completion event descriptors into a first event queue accessible to the host subsystem, each of the first transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from at least one of the transmit data buffers identified by the first data buffer descriptors, each particular one of the first transmit completion event descriptors containing information identifying the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor and wherein the step of the network interface device writing a plurality of first transmit completion event descriptors includes the step of the network interface device copying into each particular one of the first transmit completion event descriptors, the queue label for the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor. - View Dependent Claims (16, 17)
-
-
18. A method for managing data transfer between a host subsystem and a network interface device that can communicate with each other via a communication channel, the host subsystem having a set of at least one transmit descriptor queue including a first transmit descriptor queue, each of the transmit descriptor queues in the set having associated therewith a respective programmable information field, comprising the steps of:
-
the network interface device retrieving first data buffer descriptors from the first transmit descriptor queue, each of the first data buffer descriptors identifying a respective transmit data buffer in the host subsystem; the network interface device retrieving data from the transmit data buffers identified by each of the first data buffer descriptors retrieved; and the network interface device writing a plurality of first transmit completion event descriptors into a first event queue accessible to the host subsystem, each of the first transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from at least one of the transmit data buffers identified by the first data buffer descriptors, and each particular one of the first transmit completion event descriptors containing information copied from the programmable information field associated with the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor, the method further comprising the step of programming the programmable information field associated with the first transmit descriptor queue, with information identifying the first transmit descriptor queue uniquely among at least all of the transmit descriptor queues. - View Dependent Claims (19, 20)
-
-
21. A method for managing data transmission, for use with a host subsystem and a network interface device that can communicate with each other via a communication channel, the host subsystem having a first transmit descriptor queue and a second descriptor queue, comprising the steps of:
-
the network interface device retrieving first data buffer descriptors from the first transmit descriptor queue, each of the first data buffer descriptors identifying a respective transmit data buffer in the host subsystem; the network interface device retrieving second data buffer descriptors from the second descriptor queue, each of the second data buffer descriptors identifying a respective data buffer in the host subsystem; the network interface device retrieving data from the transmit data buffers identified by each of the first data buffer descriptors retrieved; the network interface device transferring data with the data buffers identified by each of the second data buffer descriptors retrieved; the network interface device writing a plurality of first transmit completion event descriptors into a first event queue accessible to the host subsystem, each of the first transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from a plurality of the transmit data buffers identified by the first data buffer descriptors; and the network interface device writing a plurality of second completion event descriptors into the first event queue, each of the second completion event descriptors notifying the host subsystem of completion by the network interface device of the transfer of data with at least one of the data buffers identified by the second data buffer descriptors, each particular one of the first transmit completion event descriptors containing a queue label identifying the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor. - View Dependent Claims (22, 23)
-
-
24. Computing apparatus having a host subsystem, for use with a network interface device in communication with the host subsystem via a peripheral bus, the host subsystem comprising:
-
a first transmit descriptor queue, the first transmit descriptor queue having a plurality of first data buffer descriptors each identifying a respective transmit data buffer in the host subsystem, the network interface device retrieving first data buffer descriptors from the first transmit descriptor queue; and a first event queue having a plurality of first transmit completion event descriptors, each of the first transmit completion event descriptors notifying the host subsystem of completion by the network interface device of the retrieval of data from a plurality of the transmit data buffers identified by data buffer descriptors formerly in the first transmit descriptor queue, the network interface device writing the plurality of first transmit completion event descriptors into the first event queue, wherein each particular one of the first transmit completion event descriptors contains information identifying a queue label for the transmit descriptor queue from which the network interface device retrieved the first data butter descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor, and wherein the network interface device copies into each particular one of the first transmit completion event descriptors, the queue label for the transmit descriptor queue from which the network interface device retrieved the first data buffer descriptors identifying the plurality of transmit data buffers covered by the particular first transmit completion event descriptor. - View Dependent Claims (25, 26)
-
Specification