The Pull That Finally Fixes ASPM Power Regression

Written by Michael Larabel in Linux Kernel on 11 January 2012 at 03:39 PM EST. 7 Comments
LINUX KERNEL
Queued up in the PCI sub-system pull for the Linux 3.3 kernel is the ASPM re-work that provides a proper fix to the well known Linux kernel power regression that was talked about for much of 2011.

This is still the nasty power regression in the Linux kernel that I discovered in early 2011 that was causing many systems (notebooks and desktops) to go through excessive amounts of power, which I then tracked back to being a change in the Active-State Power Management (ASPM) handling for PCI Express.

PCI-E ASPM was changed to what was believed at the time to be a more safe way of handling this power management feature, but it caused the power consumption to go up for many Linux systems. This led at least one vendor to just recommend using Windows, but ASPM (as with much of ACPI and power management) is a big grey area in Linux with guessing how to handle things due to varying vendor implementations and Microsoft not always enforcing / documenting well its standards.

In November it was then discovered the way Linux was handling ASPM wasn't right -- or at least the opposite of how it was being done by Microsoft Windows. Matthew Garrett re-worked some of the ASPM code that made it a proper fix to the ASPM power issue. My tests in November yielded this to be a good fix across a variety of systems tested, along with many others in the Phoronix community and elsewhere confirming this fix.

In November when the ASPM re-work patch was posted, the Linux 3.2 kernel merge window had passed. As a result, this patch is only now being mainlined with the Linux 3.3 kernel merge window being opened. Jesse Barnes sent in the PCI pull request today (the e-mail) and as part of this is Matthew Garrett's new PCI Express ASPM code.

This change hasn't been pulled into the Linux 3.2 stable series or any other stable releases as Greg Kroah-Hartman was first interested in seeing more extensive testing. Canonical, however, has already pulled this into their Linux 3.2 kernel for the forthcoming Ubuntu 12.04 LTS release.

With the mainlining of this Active State Power Management re-work fix, this issue can finally be laid to rest. The Linux 3.3 kernel is shaping up to be a nice release, but it's now time soon to talk about some of the other Linux power regressions that are still outstanding...
Related News
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.

Popular News This Week