EFFICIENT BUFFER MANAGEMENT IN A MULTI-THREADED NETWORK INTERFACE
First Claim
1. A method for receiving a packet on a multi-threaded computing device which uses a memory-buffer-usage scorecard to enable multiple hardware threads to share a common pool of memory buffers, the method comprising:
- identifying a memory-descriptor location for posting a memory descriptor for a memory buffer;
posting the memory descriptor for the memory buffer at the memory-descriptor location; and
updating the memory-buffer-usage scorecard to indicate that the memory buffer is in use.
2 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments of the present invention provide a system for receiving packets on a multi-threaded computing device which uses a memory-buffer-usage scorecard (MBUS) to enable multiple hardware threads to share a common pool of memory buffers. During operation, the system can identify a memory-descriptor location for posting a memory descriptor for a memory buffer. Next, the system can post the memory descriptor for the memory buffer at the memory-descriptor location. The system can then update the MBUS to indicate that the memory buffer is in use. Next, the system can store a packet in the memory buffer, and post a completion descriptor in a completion-descriptor location to indicate that the packet is ready to be processed. If the completion-descriptor indicates that the memory buffer is ready to be reclaimed, the system can reclaim the memory buffer, and update the MBUS to indicate that the memory buffer has been reclaimed.
44 Citations
20 Claims
-
1. A method for receiving a packet on a multi-threaded computing device which uses a memory-buffer-usage scorecard to enable multiple hardware threads to share a common pool of memory buffers, the method comprising:
-
identifying a memory-descriptor location for posting a memory descriptor for a memory buffer; posting the memory descriptor for the memory buffer at the memory-descriptor location; and updating the memory-buffer-usage scorecard to indicate that the memory buffer is in use. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for receiving a packet on a multi-threaded computing device which uses a memory-buffer-usage scorecard to enable multiple hardware threads to share a common pool of memory buffers, the method comprising:
-
identifying a memory-descriptor location for posting a memory descriptor for a memory buffer; posting the memory descriptor for the memory buffer at the memory-descriptor location; and updating the memory-buffer-usage scorecard to indicate that the memory buffer is in use. - View Dependent Claims (18)
-
-
19. An apparatus for receiving a packet on a multi-threaded computing device which uses a memory-buffer-usage scorecard to enable multiple hardware threads to share a common pool of memory buffers, the apparatus comprising:
-
a memory; and a buffer posting mechanism configured to; identify a memory-descriptor location for posting a memory descriptor for a memory buffer; post the memory descriptor for the memory buffer at the memory-descriptor location; and update the memory-buffer-usage scorecard to indicate that the memory buffer is in use. - View Dependent Claims (20)
-
Specification