System and method for reclaiming transmit descriptors
OwnerFrancesco DiMambro, Charles Suresh +1inventors
InventorsFrancesco DiMambro, Charles Suresh, Jian Huang
Life of this patent
Estimating the term…
Abstract
A system and method for reclaiming descriptors in a separate process (e.g., thread) from one in which packets are posted to a descriptor ring. The packet-posting process need not be interrupted to reclaim used descriptors, thereby reducing the delay in transmitting packets through a communication interface. The descriptor reclamation process, which may execute on a separate processor from the packet-posting process, may remain quiescent as long as the ring is less than half full or there are no descriptors to reclaim. Then, both processes may operate in parallel.
Claims20
A method of reclaiming descriptors in a descriptor ring for facilitating the transfer of packets to a communication device, the method comprising:
- receiving a first packet for transmission from a computing device;
- executing a first set of computer executable instructions configured to populate a first descriptor in a descriptor ring with information regarding the first packet, to facilitate transfer of the first packet to a communication device;
- and
- if the number of populated descriptors in the descriptor ring exceeds a predetermined threshold, executing a second set of computer executable instructions configured to reclaim populated descriptors for reuse.
A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of reclaiming descriptors in a descriptor ring for facilitating the transfer of packets to a communication device, the method comprising:
- receiving a first packet for transmission from a computing device;
- executing a first set of computer executable instructions configured to populate a first descriptor in a descriptor ring with information regarding the first packet, to facilitate transfer of the first packet to a communication device;
- and
- if the number of populated descriptors in the descriptor ring exceeds a predetermined threshold, executing a second set of computer executable instructions configured to reclaim populated descriptors for reuse.
A method of reclaiming descriptors in a descriptor ring, the method comprising:
- executing a first process for configuring a descriptor in a descriptor ring, to facilitate the transfer of a corresponding packet from a computer system to a communication device;
- and
- in parallel with said first process, executing a second process for reclaiming descriptors in the descriptor ring after the corresponding packets are transmitted from the communication device.
A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for reclaiming descriptors in a descriptor ring, the method comprising:
- executing a first process for configuring a descriptor in a descriptor ring, to facilitate the transfer of a corresponding packet from a multiprocessor computer system to a communication device;
- and
- in parallel with said first process, executing a second process for reclaiming descriptors in the descriptor ring after the corresponding packets are transmitted from the communication device.
A computing device configured to reclaim descriptors in a descriptor ring for facilitating the transmission of packets from the computing device, the computer device comprising:
- a memory configured to store packets for transfer from the computing device to a communication device for transmitting the packets;
- a first process configured to post a packet to a descriptor ring by populating a descriptor in the descriptor ring;
- and
- a second process configured to reclaim the descriptor after transmission of the packet by the communication device;
- wherein said first process is distinct from said second process.
An apparatus for reclaiming descriptors in a descriptor ring, the apparatus comprising:
- two or more processors;
- a memory configured to store packets for transfer from a computing device toward a communication device configured to transmit the packets;
- a first set of computer executable instructions configured to post a packet to a descriptor ring by populating a descriptor in the descriptor ring;
- and
- a second set of computer executable instructions configured to reclaim the descriptor after transmission of the packet by the communication device;
- wherein said first set of instructions and said second set of instructions execute in parallel.
Dependencies are inferred from the claim text.