On 08.07.2019 08:37, AceLan Kao wrote: > We have many commits in the driver which enable and then disable ASPM > function over and over again. > commit b75bb8a5b755 ("r8169: disable ASPM again") > commit 0866cd15029b ("r8169: enable ASPM on RTL8106E") > commit 94235460f9ea ("r8169: Align ASPM/CLKREQ setting function with > vendor driver") > commit aa1e7d2c31ef ("r8169: enable ASPM on RTL8168E-VL") > commit f37658da21aa ("r8169: align ASPM entry latency setting with vendor > driver") > commit a99790bf5c7f ("r8169: Reinstate ASPM Support") > commit 671646c151d4 ("r8169: Don't disable ASPM in the driver") > commit 4521e1a94279 ("Revert "r8169: enable internal ASPM and clock > request settings".") > commit d64ec841517a ("r8169: enable internal ASPM and clock request > settings") > > This function is very important for production, and if we can't come out > a solution to make both happy, I'd suggest we add a parameter in the > driver to toggle it. > The usage of a module parameter to control ASPM is discouraged. There have been more such attempts in the past that have been declined.
Pending with the PCI maintainers is a series adding ASPM control via sysfs, see here: https://www.spinics.net/lists/linux-pci/msg83228.html Also more details than just stating "it's important for production" would have been appreciated in the commit message, e.g. which power-savings you can achieve with ASPM on which systems.