Re: [PATCH] r8169: add enable_aspm parameter

From: Heiner Kallweit
Date: Wed Jul 10 2019 - 13:19:51 EST


On 10.07.2019 09:05, AceLan Kao wrote:
> Hi Heiner,
>
> I've tried and verified your PCI ASPM patches and it works well.
> I've replied the patch thread and hope this can make it get some progress.
>
Thanks for the feedback!

> BTW, do you think we can revert commit b75bb8a5b755 ("r8169: disable
> ASPM again") once the PCI ASPM patches get merged?
>
Default should remain "ASPM off" as quite a few BIOS / chip version
combinations have problems with ASPM. Interested users then can use
the new sysctl interface to switch on ASPM completely or just selected
states (e.g. L0 only).

> Best regards,
> AceLan Kao.
>
Heiner

> AceLan Kao <acelan.kao@xxxxxxxxxxxxx> æ 2019å7æ9æ éä äå11:19åéï
>>
>> Heiner Kallweit <hkallweit1@xxxxxxxxx> æ 2019å7æ9æ éä äå2:27åéï
>>>
>>> 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
>> Cool, I'll try your patches and reply on that thread.
>>
>>>
>>> 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.
>> I should use more specific wordings rather than "important for
>> production", thanks.
>