Linux Kernel Power Consumption Is Lowered, But Regressions Remain

Written by Michael Larabel in Software on 8 June 2011 at 03:26 PM EDT. Page 1 of 1. 19 Comments.

As discovered by a Phoronix reader, there is a patch in the Linux 2.6.39.1 kernel that can partially improve the system's power performance. The patch by a Nokia engineer is entitled "cpuidle: menu: fixed wrapping timers at 4.294 seconds" and initial reports have said that it will lower the power consumption compared to the stock 2.6.39 kernel.

"Cpuidle menu governor is using u32 as a temporary datatype for storing nanosecond values which wrap around at 4.294 seconds. This causes errors in predicted sleep times resulting in higher than should be C state selection and increased power consumption. This also breaks cpuidle state residency statistics."

This patch was then brought up in LaunchPad Bug #760131, which is the Ubuntu bug report tracking this upstream kernel problem. Those that have tested this patch / the Linux 2.6.39.1 have reported their power consumption has dropped along with lower operating temperatures now that the CPUs are switching properly to their lower C-states and staying there. However, this does not address the complete Linux kernel problem.

A round of Phoronix power tests were carried out today to see the impact of the 2.6.39.1 kernel. While the power consumption on 2.6.39.1 is now lower than in the bugged Linux 2.6.38 release, it is still off. The Linux 2.6.39.1 power consumption is still elevated from its Linux 2.6.37 levels, which is the release before the big Linux kernel power regression. This suggests that this might not even be a fix for the real regression in the 2.6.38 merge window but rather just a power management improvement that is now landing. There is also at least one other Linux kernel power regression affecting a great number of systems. The average power consumption with the Linux 2.6.39.1 kernel is still up by an approximate 18~20% over older (Linux 2.6.34 era) kernels or over 22% for a system that's not affected by the Linux 2.6.35 power bug. While this 2.6.39.1 reduced power consumption is a nice improvement, there is still regressions left to bisect.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.


Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.