Browse Prior Art Database

Multiple Frame Transmission Counter

IP.com Disclosure Number: IPCOM000119148D
Original Publication Date: 1997-Dec-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 2 page(s) / 82K

Publishing Venue

IBM

Related People

Barker, KJ: AUTHOR [+3]

Abstract

Disclosed is a technique that allows a maximum of 256 (in the current implementation) frames to be queued for transmission with a single write operation to the adapter hardware from the driver code. After the last of the data for the last frame transmitted has been transferred from the host memory to the adapter, a single interrupt is given to the host. This technique greatly reduces the overhead associated with the transmit process and increases the overall adapter performance.

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

Multiple Frame Transmission Counter

      Disclosed is a technique that allows a maximum of 256 (in the
current implementation) frames to be queued for transmission with a
single write operation to the adapter hardware from the driver code.
After the last of the data for the last frame transmitted has been
transferred from the host memory to the adapter, a single interrupt
is given to the host.  This technique greatly reduces the overhead
associated with the transmit process and increases the overall
adapter performance.

      The performance of the Ethernet Adapter working in concert with
the driver code can be improved if the number of times the driver
communicates with the adapter hardware can be reduced.  Each time a
frame is to be transmitted the driver code must inform the adapter
hardware and provide the necessary parameters to indicate the host
memory location of where the data is located and the amount of data
to be transmitted.  After the frame is transmitted, the adapter
hardware informs the driver code by issuing an interrupt and
presenting a status.  This exchange of information on a per frame
basis is time consuming and degrades the adapter performance.

      The solution is two-fold.  First, each frame to be transmitted
is associated with a frame descriptor located in the host memory.
These descriptors are built when the adapter is initialized and are
updated as  frames to be transmitted are generated.  The descriptors
form a list with the tail linked to the head forming a circular
queue.  Each descriptor is taken from the list, in turn, and
associated with a frame  to be transmitted.  This process is
performed by the driver code. The  driver code informs the adapter
hardware of the number of frames ready  for transmission by writing
the number of frames to be transmitted into  a special hardware Frame
Count Register, located in the adapter.  The adapter hardware takes
the contents of the Frame Count Register and adds  it to the number
of frames already queued for transmission, resulting in  a total
number of frames ready to transmit.  The adapter dec...