Saturday, 18 February 2012

Quick fix for Linux power regression problem

Linux Power Regression is yet another flame topic within the open source community. Where one group says that the sky isn't falling. Whereas the other group claims that, starting from kernel versions 2.6.38 the battery's backup time is reduced by 50% and the CPU temperature runs all time high. But, no one mentions the optimal temperature range.

To check this on my T420 thinkpad which has the sandy bridge processor, I ran the sensors command, which reported the processor temperature as 73° in spite of, CPU being idle. This was very alarming.

On further digging, we can find that this is an issue partly related to BIOS, where it indicates erroneously to the kernel that the PCI Express Active State Power Management (ASPM) isn't supported for the board which has that feature.

Moreover, it seems that, in the intel graphics driver i915, RC6 feature (which allows the GPU to enter a lower power state when it is idling) is not enabled by default.

So, here is the quick fix
  1. Open the /etc/default/grub file
  2. Add these parameters to the variable GRUB_CMDLINE_LINUX_DEFAULT "quiet splash i915.i915_enable_rc6=1 pcie_aspm=force"
  3. Then run the command update-grub as super user 
  4. Reboot the system and see the difference.
After this, my CPU temperature fell in the range of 40 to 50+

Satisfied :)

No comments:

Post a comment