Linux Kernel Power Consumption Is Lowered, But Regressions Remain

Published on June 08, 2011
Written by Michael Larabel
Page 1 of 1
Discuss This Article

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.

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. LLVM Clang 3.3 RC2 Is Ready For Testing
  2. AMD RadeonSI Gallium3D Begins Simple CL Demos
  3. Intel Shows Off GNOME3-Based Tizen Shell
  4. Linux Desktop Security Could Be A Whole Lot Better
  5. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  6. New NVIDIA Linux Driver Supports The GeForce GTX 780
  7. Chrome 28 To Offer More Speed Improvements
  8. Digia Announces "Boot To Qt" Project
  9. X.Org Libraries Hit By Round Of Security Issues
  10. Wayland's Weston Gets Output Scaling Support
  11. Raspberry Pi Gets New Wayland Weston Renderer
Latest Forum Talk
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Intel Shows Off GNOME3-Based Tizen Shell
  4. VIA KMS Driver Now Supports HDMI Output
  5. AMD RadeonSI Gallium3D Begins Simple CL Demos
  6. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  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