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...