Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Improved Receive Driver Performance by Removing Latency of Getting Receive Events

IP.com Disclosure Number: IPCOM000122980D
Original Publication Date: 1998-Mar-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 1 page(s) / 59K

Publishing Venue

IBM

Related People

Slane, AA: AUTHOR

Abstract

A method to improve receive device driver performance by removing the latency of getting receive events is disclosed. The solution uses multiple system buffers to implement the adapter receive event queue in system memory. An algorithm is used so that the user has minimum interactions with the adapter.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Improved Receive Driver Performance by Removing Latency of Getting
Receive Events

      A method to improve receive device driver performance by
removing the latency of getting receive events is disclosed.  The
solution uses multiple system buffers to implement the adapter
receive event queue in system memory.  An algorithm is used so that
the user has minimum interactions with the adapter.

      The invention uses multiple system buffers to implement the
adapter receive queue in system memory.  Two system buffers are
zero-ed by the user and given to the adapter to implement the receive
queue.  The buffer size is also specified.  As events are generated,
the adapter direct memory accesses (DMAs) the event information into
the next location in the current event buffer and updates the tail
pointer to point to the next location in the buffer.  The tail
pointer is maintained in the adapter to point to the next event
location in the current event buffer.

      When the adapter reaches the end of the current buffer, an
event is placed on the tail of the queue which specifies that the
adapter is switching to a new buffer.  The event contains the address
of the new buffer being used.  If no buffer is available to switch
to, then an event is placed on the queue specifying that the queue is
full and needs user attention.  When a queue is full, all subsequent
events are lost until a new buffer is given to the adapter.

      The user maintains a head pointer to the head...