Buffer management technique for a hypertransport data path protocol
First Claim
1. A method for efficiently managing a set of data buffers accessible to first and second devices interconnected by a bus, the method comprising:
- storing a set of free buffer descriptors in a buffer cache accessible to the first device, each free buffer descriptor referencing a respective data buffer available to store data;
determining whether the number of descriptors in the set of free buffer descriptors is greater than a predetermined threshold value; and
transferring, in response to the number of descriptors being greater than the predetermined threshold value, free buffer descriptors from the first device to the second device until the number of descriptors in the set of free buffer descriptors is less than the predetermined threshold value.
1 Assignment
0 Petitions
Accused Products
Abstract
A buffer-management technique efficiently manages a set of data buffers accessible to first and second devices interconnected by a split transaction bus, such as a Hyper-Transport (HPT) bus. To that end, a buffer manager controls access to a set of “free” buffer descriptors, each free buffer descriptor referencing a corresponding buffer in the set of data buffers. Advantageously, the buffer manager ensures that the first and second devices are allocated a sufficient number of free buffer descriptors for use in a HPT data path protocol in which the first and second devices have access to respective sets of free buffer descriptors. Because buffer management over the HPT bus is optimized by the buffer manager, the amount of processing bandwidth traditionally consumed managing descriptors can be reduced.
-
Citations
24 Claims
-
1. A method for efficiently managing a set of data buffers accessible to first and second devices interconnected by a bus, the method comprising:
-
storing a set of free buffer descriptors in a buffer cache accessible to the first device, each free buffer descriptor referencing a respective data buffer available to store data; determining whether the number of descriptors in the set of free buffer descriptors is greater than a predetermined threshold value; and transferring, in response to the number of descriptors being greater than the predetermined threshold value, free buffer descriptors from the first device to the second device until the number of descriptors in the set of free buffer descriptors is less than the predetermined threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system configured to efficiently manage a set of data buffers, the system comprising:
-
a central processing unit (CPU); a To-CPU direct memory access (DMA) engine configured to transfer data to the CPU for processing, the data being transferred to one or more data buffers in the set of data buffers; a From-CPU DMA engine configured to retrieve processed data from one or more data buffers in the set of data buffers; a buffer cache configured to store a set of free buffer descriptors, each free buffer descriptor in the set of free buffer descriptors referencing a respective data buffer available to store data; a buffer manager configured to retrieve free buffer descriptors from the buffer cache and supply the retrieved free buffer descriptors to the To-CPU DMA engine, and further configured to receive free buffer descriptors from the From-CPU DMA engine and return the received free buffer descriptors to the buffer cache. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An apparatus for efficiently managing a set of data buffers accessible to first and second devices interconnected by a bus, the apparatus comprising:
-
means for storing a set of free buffer descriptors in a buffer cache accessible to the first device, each free buffer descriptor referencing a respective data buffer available to store data; means for determining whether the number of descriptors in the set of free buffer descriptors is greater than a predetermined threshold value; and means for transferring, in response to the number of descriptors being greater than the predetermined threshold value, free buffer descriptors from the first device to the second device until the number of descriptors in the set of free buffer descriptors is less than the predetermined threshold value. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A computer-readable media including instructions for execution by a processor, the instructions for a method of efficiently managing a set of data buffers accessible to first and second devices interconnected by a bus, the method comprising:
-
storing a set of free buffer descriptors in a buffer cache accessible to the first device, each free buffer descriptor referencing a respective data buffer available to store data; determining whether the number of descriptors in the set of free buffer descriptors is greater than a predetermined threshold value; and transferring, in response to the number of descriptors being greater than the predetermined threshold value, free buffer descriptors from the first device to the second device until the number of descriptors in the set of free buffer descriptors is less than the predetermined threshold value.
-
Specification