Patent ID: 7970927

Claim:
A method for processing requests for transmission of data from a computing system to a network via a network adapter, the method comprising: (a) receiving a request for transmission of data; wherein a network driver executed by a computing system processor receives the request; (b) acquiring a lock to a transmit queue having a plurality of buffers, wherein the network driver places the lock; (c) allocating space in a buffer from among the plurality of buffers, based on a size of the received request for transmission of data by updating a producer list associated with the buffer to indicate the allocated space; wherein the producer list is updated by adding an entry to the producer list, the entry pointing to a location in the buffer that may be used by a next request for transmission of data; and wherein the network driver allocates space and updates the producer list; (d) releasing the lock to the transmit queue; (e) writing data for the request for transmission to the allocated space in the buffer; and (f) updating the producer list to signal completion of the writing data by deleting the entry in the producer list associated with the completed request for transmission of data.