Deleting A Few Lines Of Code Can Yield "Significant" Power Savings On Some Linux Systems

Written by Michael Larabel in Hardware on 21 May 2020 at 01:35 AM EDT. 88 Comments
HARDWARE
A patch slated to be merged for the Linux 5.8 kernel cycle next month that simply deletes ten lines of code (well, six lines of code and four lines of comments) will for some systems yield "significant power savings" due to an oversight in the kernel code that has lasted for about twelve years.

Queued as part of the PCI-next changes building up for Linux 5.8 is allowing Active State Power Management (ASPM) on links for PCI Express to PCI/PCI-X bridges. As we've seen when investigating Linux ASPM issues over the years (that big power regression from 2011, et al), the power savings can be quite dramatic when correctly working. But up to now it turns out PCIe-to-PCI (and PCI-X) bridges have not had the Linux kernel enable ASPM on those links and could in turn keep the CPU in higher power states than otherwise could have been achievable.


Windows meanwhile does enable PCIe ASPM for PCIe-to-PCI/PCI-X bridges. In the patch enabling it, for "some undocumented reason", the ASPM code merged back into the Linux kernel in 2008 disabled ASPM for PCI bridges. Now in 2020, that code is simply being deleted.


This patch simply deletes the few lines of code checking to see if the downstream component is a PCI bridge and in turn disables ASPM. The patch noted, "Enabling ASPM on the link leading to it allows the Intel SoC to enter deeper Package C-states, which is a significant power savings." The original patch also cited "lots of unnecessary power" following a bug report from earlier this month by a Canonical kernel engineer... The impact of deleting a few lines of code that have been overlooked in the kernel for 12 years.

So should your system(s) have a PCI Express to PCI bridge like can be found on many server/workstation motherboards and more, look for this patch in Linux 5.8 and quite likely to be back-ported to the stable branches.
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