Patent ID: 7996696

Claim:
One or more non-transitory computer-storage media having computer-useable instructions that perform a method for managing CPU affinity in a multiprocessor system having a main processor that executes an operating system, the method comprising: receiving an external signal generated by an external monitor, wherein the external signal specifies changes in CPU affinity for one or more processes associated with one or more processors in the multiprocessor system; obtaining a list identifying processors in the multiprocessor system, processes executed by the processors of the multiprocessor system, and a current CPU affinity for each process; determining whether the change in CPU affinity specified by the external signal is above a specified threshold: (1) if the change in CPU affinity is above the specified threshold, redistributing the processes to the processors identified in the external signal, and (2) if the change in CPU affinity is below the specified threshold, redistributing all processes to the main processor; and traversing the list identifying the processes associated with the processors of the multiprocessor system to update the CPU affinity and power consumption for a subset of the processors.