Patent ID: 7581052

Claim:
A machine-implemented method, comprising: causing a plurality of interrupts from one or more devices to be distributed to a plurality of processors in accordance with a first mapping that maps the interrupts to the processors; monitoring the processors to determine a workload imposed by the interrupts on each of the processors; deriving a first measure of imbalance based at least partially upon the workloads imposed by the interrupts on the processors; determining whether the first measure of imbalance differs from a baseline imbalance by at least a first margin; in response to a determination that the first measure of imbalance differs from the baseline imbalance by at least the first margin: generating a second mapping that maps the interrupts to the processors, wherein the second mapping is different from the first mapping; deriving a second measure of imbalance based at least partially upon workloads that would be, but have not yet been, imposed by the interrupts on the processors under the second mapping; determining whether the second measure of imbalance improves upon the first measure of imbalance by at least a second margin; and causing the interrupts to be distributed to the processors in accordance with the second mapping if and only if it is determined that the second measure of imbalance improves upon the first measure of imbalance by at least the second margin.