Fix .38 (and higher) Linux Kernel Power Regression

LifeInTheGrey
  12 years ago
  6

**WARNING: MAKE SURE THAT ALL PCIe HARDWARE IN YOUR SYSTEM SUPPORTS ACTIVE-STATE POWER MANAGEMENT**

- If you have seen a battery drain increase since the .38 kernel, it is very likely due to this reason, however double-check because applying this fix to older hardware that does not support ASPM may cause the system to stop responding.

 

Originally found here:

 

 http://www.phoronix.com/scan.php?page=article&item=linux_2638_aspm&num=1

 

This fixes the most prominent of the Linux kernel power regressions. This has plagued users since the .38 kernel, and caused much larger than normal power drain on portable devices. I do not recommend applying this fix to desktops because it will increase latency, however for laptops/netbooks/etc it makes a noticable difference. If (and ONLY if) you have seen a battery life reduction when upgrading to the .38 kernel, apply the fix as follows:

 

1) Edit GRUB

- Type this into the terminal:

 

gksudo gedit /etc/default/grub

 

- Go to the line GRUB_CMDLINE_LINUX=""

- Change it to GRUB_CMDLINE_LINUX="pcie_aspm=force"

- Save and exit

 

2) Update GRUB

- Type this into terminal:

 

sudo update-grub

 

3) Shut down and then power back on

- Once you do a full shutdown and then power it back on to access GRUB again, the fix will apply itself

 

I noticed an immediate jump in battery life after applying the fix:

- Laptop = 2hr45min to 3hr20min

- Netbook = 4hr45min to 6hr40min (!!!!!)

It seems to have greater impact on Atheros wireless cards than Broadcom, but it will increase it substantially nonetheless.

 

**NOTE**

- This will increase latency (not problematic, but basically don't apply it where you don't need to, like to a desktop)

- This does NOT fix other power regressions existing in the kernel, such as the one from the .35 migration.

- I'm NOT the person who created this fix, so I can't really answer questions about it. I'm just the awesome dude who shared it. ;)

 

Enjoy!

Comments
LifeInTheGrey 12 years ago

This is correct ... for older hardware that does not support ASPM, forcing the hardware to use the feature would be problematic. I'll make this warning clearer at the top, but that is why I specified that ONLY IF you have seen a battery life reduction since the upgrade would you apply this. This infers that the reduction is due to ASPM no longer being properly utilized, meaning was present prior.


remoulder 12 years ago

Warning this may potentially cause machines to stop responding, see http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Power_Management_Guide/ASPM.html