Patent ID: 6988156

Claim:
A method of dynamically adjusting one or more interrupt coalescing parameters on a communication interface according to a status of a host processor configured to receive interrupts from the communication interface, without reinitializing the communication interface, the method comprising: receiving at a host processor a first interrupt from the communication interface; identifying a first number of communications received with the first interrupt; determining a workload of the host processor; comparing the first number of communications to a current value of a first parameter of the communication interface, wherein said first parameter comprises a number of communications the communication interface may accumulate before issuing an interrupt to the host processor; examining a trend configured to indicate a relationship between: a previous value of the first parameter at the time of a previous interrupt; and a previous number of communications received with the previous interrupt; adjusting said trend based on: said comparison of said first number of communications to said current value of said first parameter; and a current value of said trend; if said adjusted trend is not equal to a threshold trend; producing a first new value for said first parameter, based on said current value of said first parameter and said trend; and dynamically updating said first parameter of the communication interface with said first new value; and if said workload is greater than a first threshold, increasing a second parameter of the communication interface, wherein said second parameter indicates a maximum period of time the communication interface may wait after receiving a communication before generating an interrupt to the host processor.