A method and system for maintaining a desired service level for a
processor receiving excessive interrupts. The method includes the
operation of defining an interrupt processing period during which
interrupts will be measured for a processor. The amounts of time spent by
the processor during the interrupt processing period in interrupt context
can be measured. Another operation is detecting an interrupt storm
occurring for the processor based on the amounts of time spent by the
processor in interrupt context. The interrupts received by the processor
can then be restricted for a period of the processor's total processing
time when an interrupt storm has been detected.