mbox series

[net-next,v3,0/3] r8169: Implement dynamic ASPM mechanism for recent 1.0/2.5Gbps Realtek NICs

Message ID 20210819054542.608745-1-kai.heng.feng@canonical.com (mailing list archive)
Headers show
Series r8169: Implement dynamic ASPM mechanism for recent 1.0/2.5Gbps Realtek NICs | expand

Message

Kai-Heng Feng Aug. 19, 2021, 5:45 a.m. UTC
The latest Realtek vendor driver and its Windows driver implements a
feature called "dynamic ASPM" which can improve performance on it's
ethernet NICs.

Heiner Kallweit pointed out the potential root cause can be that the
buffer is to small for its ASPM exit latency.

So bring the dynamic ASPM to r8169 so we can have both nice performance
and powersaving at the same time.

v2:
https://lore.kernel.org/netdev/20210812155341.817031-1-kai.heng.feng@canonical.com/

v1:
https://lore.kernel.org/netdev/20210803152823.515849-1-kai.heng.feng@canonical.com/

Kai-Heng Feng (3):
  r8169: Implement dynamic ASPM mechanism
  PCI/ASPM: Introduce a new helper to report ASPM support status
  r8169: Enable ASPM for selected NICs

 drivers/net/ethernet/realtek/r8169_main.c | 69 ++++++++++++++++++++---
 drivers/pci/pcie/aspm.c                   | 11 ++++
 include/linux/pci.h                       |  2 +
 3 files changed, 74 insertions(+), 8 deletions(-)

Comments

Heiner Kallweit Aug. 19, 2021, 6:08 a.m. UTC | #1
On 19.08.2021 07:45, Kai-Heng Feng wrote:
> The latest Realtek vendor driver and its Windows driver implements a
> feature called "dynamic ASPM" which can improve performance on it's
> ethernet NICs.
> 
This statement would need a proof. Which performance improvement
did you measure? And why should performance improve?
On mainline ASPM is disabled, therefore I don't think we can see
a performance improvement. More the opposite in the scenario
I described: If traffic starts and there's a congestion in the chip,
then it may take a second until ASPM gets disabled. This may hit
performance.

> Heiner Kallweit pointed out the potential root cause can be that the
> buffer is to small for its ASPM exit latency.
> 
> So bring the dynamic ASPM to r8169 so we can have both nice performance
> and powersaving at the same time.
> 
> v2:
> https://lore.kernel.org/netdev/20210812155341.817031-1-kai.heng.feng@canonical.com/
> 
> v1:
> https://lore.kernel.org/netdev/20210803152823.515849-1-kai.heng.feng@canonical.com/
> 
> Kai-Heng Feng (3):
>   r8169: Implement dynamic ASPM mechanism
>   PCI/ASPM: Introduce a new helper to report ASPM support status
>   r8169: Enable ASPM for selected NICs
> 
>  drivers/net/ethernet/realtek/r8169_main.c | 69 ++++++++++++++++++++---
>  drivers/pci/pcie/aspm.c                   | 11 ++++
>  include/linux/pci.h                       |  2 +
>  3 files changed, 74 insertions(+), 8 deletions(-)
> 
This series is meant for your downstream kernel only, and posted here to
get feedback. Therefore it should be annotated as RFC, not that it gets
applied accidentally.
Kai-Heng Feng Aug. 19, 2021, 6:19 a.m. UTC | #2
On Thu, Aug 19, 2021 at 2:08 PM Heiner Kallweit <hkallweit1@gmail.com> wrote:
>
> On 19.08.2021 07:45, Kai-Heng Feng wrote:
> > The latest Realtek vendor driver and its Windows driver implements a
> > feature called "dynamic ASPM" which can improve performance on it's
> > ethernet NICs.
> >
> This statement would need a proof. Which performance improvement
> did you measure? And why should performance improve?

It means what patch 1/3 fixes...

> On mainline ASPM is disabled, therefore I don't think we can see
> a performance improvement. More the opposite in the scenario
> I described: If traffic starts and there's a congestion in the chip,
> then it may take a second until ASPM gets disabled. This may hit
> performance.

OK. We can know if the 1 sec interval is enough once it's deployed in the wild.

>
> > Heiner Kallweit pointed out the potential root cause can be that the
> > buffer is to small for its ASPM exit latency.
> >
> > So bring the dynamic ASPM to r8169 so we can have both nice performance
> > and powersaving at the same time.
> >
> > v2:
> > https://lore.kernel.org/netdev/20210812155341.817031-1-kai.heng.feng@canonical.com/
> >
> > v1:
> > https://lore.kernel.org/netdev/20210803152823.515849-1-kai.heng.feng@canonical.com/
> >
> > Kai-Heng Feng (3):
> >   r8169: Implement dynamic ASPM mechanism
> >   PCI/ASPM: Introduce a new helper to report ASPM support status
> >   r8169: Enable ASPM for selected NICs
> >
> >  drivers/net/ethernet/realtek/r8169_main.c | 69 ++++++++++++++++++++---
> >  drivers/pci/pcie/aspm.c                   | 11 ++++
> >  include/linux/pci.h                       |  2 +
> >  3 files changed, 74 insertions(+), 8 deletions(-)
> >
> This series is meant for your downstream kernel only, and posted here to
> get feedback. Therefore it should be annotated as RFC, not that it gets
> applied accidentally.

Noted. Will annotate in next version.

Kai-Heng