10

Deleting a Few Lines of Code Can Yield “Significant” Power Savings on Linux

 3 years ago
source link: https://www.phoronix.com/scan.php?page=news_item&%3Bpx=Linux-5.8-ASPM-PCIe-PCI-PCI-X
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Deleting A Few Lines Of Code Can Yield "Significant" Power Savings On Some Linux Systems

Written byMichael Larabel inHardware on 21 May 2020 at 01:35 AM EDT.52 Comments

hardware.jpg

A patch slated to be merged for theLinux 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 LinuxASPM 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.

NZBNbeu.jpg!web

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.

AFRjMnf.jpg!web

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.

52 Comments


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK