A system and method for dynamically tuning the interrupt coalescing behavior
of
a communication interface to suit the workload of the interface. An interrupt handler
adjusts dynamic Packet and/or Latency values of the interface to control how many
packets the interface may accumulate, or how much time the interface may wait after
receiving a first packet, before it can signal a corresponding interrupt to a host
processor and forward the accumulated packet(s). The interrupt handler maintains
a Trend parameter reflecting a comparison between recent sets of packets received
from the interface and the interface's Packet parameter. The Packet value is decreased
or increased as packet traffic ebbs or flows. When the Packet value is incremented
from a minimum value, a Fallback mechanism may be activated to ensure a relatively
rapid return to the minimum value if an insufficient amount of traffic is received
to warrant a non-minimum Packet value.