Linux Developers Ponder Decade-Old Decision To Disable PCI Runtime Power Management By Default

Written by Michael Larabel in Hardware on 27 December 2020 at 03:28 AM EST. 27 Comments
HARDWARE
Back in 2010 was a change to disable run-time power management of PCI devices by default and leaving it up to user-space to in turn override it if desired. Now as we gear up for 2021, some upstream kernel developers are wondering about that original decision and possibly changing the default behavior to yield better out-of-the-box power savings with modern systems.

That change a decade ago to force off run-time power management by default for PCI devices noted, "Make the run-time power management of PCI devices be inactive by default by calling pm_runtime_forbid() for each PCI device during its initialization. This setting may be overriden by the user space with the help of the /sys/devices/.../power/control interface. That's necessary to avoid breakage on systems where ACPI-based wake-up is known to fail for some devices."

Fast forward to today, some developers don't recall that original discussion or in some cases weren't even involved in kernel development at that point and wondering about the breakage. Thus the discussion over this default has been brought back up with some seemingly hoping for it to be reverted or at least enabling it by default for newer systems.

PCI subsystem maintainer Bjorn Helgaas ushered in a discussion over removing this default restriction. The user who proposed removing it argued that with run-time power management disabled by default, the PHY on network devices can remain powered up even when no cable is attached, among other situations where this default hurts.

Power management maintainer and Intel developer Rafael Wysocki who was also the one to originally make the change back in 2010 noted, "We had received multiple problem reports related to that, most likely because the ACPI PM in BIOSes at that time was tailored for system-wide PM transitions only...The systems that had those problems 10 years ago would still have them, but I expect there to be more systems where runtime PM can be enabled by default for PCI devices without issues."

To that the suggestion was raised on possibly then enabling the PCI run-time power management by default just for newer systems, potentially being based upon the BIOS date information.

No decision has been made at this point but hopefully the discussion will lead to improving the default for Linux.
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