Browse Prior Art Database

Reducing CPU Utilization by Controlling Transmit Complete Interrupts

IP.com Disclosure Number: IPCOM000116038D
Original Publication Date: 1995-Jul-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 96K

Publishing Venue

IBM

Related People

Polge, SE: AUTHOR [+2]

Abstract

Disclosed is a method that significantly reduces the number of interrupts generated by a LAN adapter, helping to alleviate system CPU utilization. Typically, it is important to process receive completions as soon as possible, to minimize response time. Therefore, receive complete interrupts should be enabled. Transmit complete interrupts do not typically impact response time, as they are in the post processing path. Delaying the processing of transmit completes only ties up the buffers holding the transmitted frames. However, in a busy system (where these buffers are needed), the technique described below will quickly initiate transmit completion processing and free up these buffers.

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

Reducing CPU Utilization by Controlling Transmit Complete Interrupts

      Disclosed is a method that significantly reduces the number of
interrupts generated by a LAN adapter, helping to alleviate system
CPU utilization.  Typically, it is important to process receive
completions as soon as possible, to minimize response time.
Therefore, receive complete interrupts should be enabled.  Transmit
complete interrupts do not typically impact response time, as they
are in the post processing path.  Delaying the processing of transmit
completes only ties up the buffers holding the transmitted frames.
However, in a busy system (where these buffers are needed), the
technique described below will quickly initiate transmit completion
processing and free up these buffers.

      This disclosure recommends that a device driver run primarily
with transmit complete interrupts turned off, thus reducing system
disruption and CPU utilization.  Turning off interrupts is not a new
concept, and has been used before in conjunction with polling
routines.  However, polling introduces additional overhead when the
device polled has no outstanding requests.  Also, polling for receive
completion may introduced unwanted increases in response time.  The
technique proposed in this disclosure has the advantages of reducing
interrupts without impacting response time.  In addition the use of
interrupts is dynamic, based on other system conditions such as
buffer use, to optimize system performance.

      With transmit complete interrupts turned off, some other
mechanism for identifying and reporting transmit completions is
needed.  The device driver can check for completed transmits when it
is called for other work.  There are two points where it is logical
for a device driver to check for completed transmits.  For this
reason, it is suggested that a device driver implement a common
Transmit Complete Routine as shown in Fig. 1.  One place where the
Transmit Complete Routine sho...