Linux kernel developers have created an Intel PowerClamp driver, which is an experiment with idle injection for Intel hardware to take advantage of power-efficient package-level C-states for power capping and passive thermal control. Separately, Intel RAPL (Running Average Power Limit) support is now exposed through TurboStat.
The kernel documentation for the Intel PowerClamp driver describes its use as:
Consider the situation where a systemâs power consumption must be reduced at runtime, due to power budget, thermal constraint, or noise level, and where active cooling is not preferred. Software managed passive power reduction must be performed to prevent the hardware actions that are designed for catastrophic scenarios.
Currently, P-states, T-states (clock modulation), and CPU offlining are used for CPU throttling.
On Intel CPUs, C-states provide effective power reduction, but so far they're only used opportunistically, based on workload. With the development of intel_powerclamp driver, the method of synchronizing idle injection across all online CPU threads was introduced. The goal is to achieve forced and controllable C-state residency.
Test/Analysis has been made in the areas of power, performance, scalability, and user experience. In many cases, clear advantage is shown over taking the CPU offline or modulating the CPU clock.
For Intel "Nehalem" CPUs and later, there is package-level C-state residency available through model-specific registers (MSRs) and other features to make this all work out. This Intel Linux kernel driver is principally authored by Arjan van de Ven and Jacob Pan.
The patches implementing this PowerClamp support can be found on the Linux kernel list
and will potentially be merged for the Linux 3.8 kernel.
On a related note, there's also new Intel TurboStat patches on the kernel list
that are queued for Linux 3.8 as well. The new feature here is that the turbostat
utility can print the power consumption in Watts as reported by hardware RAPL counters. RAPL is the Running Average Power Limit, a new feature to modern Intel CPUs to enforce power consumption limits and to read the power consumption of different components.