Processor Power Management

line

Enhanced Intel Speedstep Technology (EIST)

cpufreq ondemand governor(Initial implementation) The Intel recommended governor in the Linux kernel, cpufreq ondemand, changes the frequency/voltage of the processor at runtime, based on the CPU utilization. This governor implements Demand Based Switching (DBS) policy www.intel.com/products/services/intelsolutionservices/success/techdocs/wp/thermal.pdf , which manages CPU frequency at runtime. The ondemand governor is available in Linux kernel version 2.6.10 and later. It is actively maintained and new features are being added.

Recent feature enhancements

  • Support for hardware frequency feedback (APERF/MPERF)

Recent Intel processors (Intel® Core™ microarchitecture and later) support a mechanism called hardware frequency feedback, using two MSRs: IA32_APERF and IA32_MPERF. This feedback helps ondemand know the average, actual CPU frequency over a user-determined period of time. This allows ondemand to make an accurate policy decision for the next frequency. This feature was first supported in Linux kernel version 2.6.20.

Here's the patch:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfde5d62ed9b28b0bda676c16e8cb635df244ef2

Recent bug fixes
Kstat idle statistics are not reliable for tickless idle kernels. Make sure that the ondemand governor uses proper idle time, despite unreliable kstat idle statistics.
The patches below were included in Linux kernel version 2.6.23-rc1. If you are using an earlier tickless kernel, consider using these patches.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0af99b13c9f323e658b4f1d69a1ccae7d6f3f80a http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea48761519bd40d7a881c587b5f3177664b2987e

cpufreq acpi_cpufreq driver Linux kernels prior to 2.6.20, had problems with two different drivers, both of which provided EIST support, but in incompatible modes. Starting with the 2.6.20 kernel, we now have a single acpi-cpufreq driver that works on all Intel processor-based platforms which support EIST. This consolidated driver works on Intel Pentium® 4 processors, as well as Intel® Core™, Intel® Core™ 2 Duo, and newer processors. This acpi-cpufreq driver includes support for all of the latest features, such as hardware frequency feedback (IA32_APERF/IA32_MPERF), Intel Dynamic Acceleration technology, and support for ACPI 3.0-based software coordination of P-states.

Intel Enhanced Deeper Sleep

Intel Enhanced Deeper Sleep reduces the processor's power consumption during inactive periods. This feature allows dynamic cache sizing, which flushes the cached data to memory during extended idle periods. It is made visible to the OS using the ACPI C-state interface.

cpuidle driver infrastructure The Intel Enhanced Deeper Sleep feature reduces the processor?s power consumption during inactive periods. This feature allows dynamic cache sizing, which flushes the cached data to memory during extended idle periods. It is made visible to the OS using the ACPI C-state interface. Linux kernel version 2.6.18 or later supports these deep C-states and provides Intel Enhanced Deeper Sleep power benefits.

To manage and support Intel Enhanced Deeper Sleep states more efficiently, we are developing a newer Linux kernel infrastructure. This infrastructure, cpuidle, allows the kernel to effectively manage the deep sleep states and further reduces the overall system power usage. This infrastructure takes full advantage of the kernel tickless idle feature, providing additional power savings to the end user.

White paper on infrastructure

Note: cpuidle is not in the Linux kernel yet. However, it is included in the acpi-test (acpi test patches for kernel 2.6.23-rc3 or later.)

http://www.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/test/2.6.23/ and mm trees (Linux kernel 2.6.23-rc3-mm* and later)


 About | ISN | Intel is a trademark of Intel Corporation in the U.S. and other countries. | * Other names / brands may be claimed as the property of others