Patent ID: 8543857

Claim:
A method, comprising: receiving a request to enter a low power mode; continuously detecting one or more un-affinitized software threads for an active workload in the low power mode; detecting power or thermal characteristics for each of a plurality of cores of a multi-core processor; selecting a set of processor cores based on the detected power or thermal characteristics; continuously affinitizing the one or more detected un-affinitized software threads for the active workload to run on the selected set of processor cores of the multi-core processor, the selected set of processor cores comprising less than a total number of processor cores of the multi-core processor; successively reducing the number of processor cores in the set of processor cores; affinitizing the one or more un-affinitized software threads to run on the reduced set of processor cores; and reducing processor performance states for one or more of the processor cores in the set of processor cores.