Intel Introduces PowerClamp Driver For Linux

Posted by Michael Larabel on November 15, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Digia Announces "Boot To Qt" Project
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Wayland's Weston Gets Output Scaling Support
  4. Raspberry Pi Gets New Wayland Weston Renderer
  5. Debian GNU/Hurd 2013 Release Brings New Packages
  6. Intel Ultrabook Performance Is Faster With Mesa 9.2
  7. Hot Relocation HDD To SSD Support For Btrfs
  8. Phoronix Test Suite 4.6.0 "Utsira" Released
  9. New Intel X.Org Driver Supports All Of Haswell
  10. SQLite Now Faster With Memory Mapped I/O
  11. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
Latest Forum Talk
  1. Debian GNU/Hurd 2013 Release Brings New Packages
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. AMD Catalyst 13.4 Final
  4. Wayland's Weston Gets Output Scaling Support
  5. Fedora 18 Comes To ARMv6, Raspberry Pi
  6. Microsoft Releases Skype For Linux 4.2, Has...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite