Processor Power Management
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
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: Recent bug fixes 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 SleepIntel 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 infrastructureNote: 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.) |