mbox series

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

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

Message

Kai-Heng Feng Oct. 16, 2021, 7:54 a.m. UTC
The purpose of the series is to get comments and reviews so we can merge
and test the series in downstream kernel.

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.

For the slow/fast alternating traffic pattern, we'll need some real
world test to know if we need to lower the dynamic ASPM interval.

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

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

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

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

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 (4):
  PCI/ASPM: Add pcie_aspm_capable()
  r8169: Enable chip-specific ASPM regardless of PCIe ASPM status
  r8169: Use mutex to guard config register locking
  r8169: Implement dynamic ASPM mechanism

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

Comments

Kai-Heng Feng Oct. 26, 2021, 3:53 a.m. UTC | #1
Hi Heiner,

On Sat, Oct 16, 2021 at 3:54 PM Kai-Heng Feng
<kai.heng.feng@canonical.com> wrote:
>
> The purpose of the series is to get comments and reviews so we can merge
> and test the series in downstream kernel.
>
> 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.
>
> For the slow/fast alternating traffic pattern, we'll need some real
> world test to know if we need to lower the dynamic ASPM interval.

Do you think we can include this to downstream kernel in its current form?

Kai-Heng

>
> v6:
> https://lore.kernel.org/netdev/20211007161552.272771-1-kai.heng.feng@canonical.com/
>
> v5:
> https://lore.kernel.org/netdev/20210916154417.664323-1-kai.heng.feng@canonical.com/
>
> v4:
> https://lore.kernel.org/netdev/20210827171452.217123-1-kai.heng.feng@canonical.com/
>
> v3:
> https://lore.kernel.org/netdev/20210819054542.608745-1-kai.heng.feng@canonical.com/
>
> 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 (4):
>   PCI/ASPM: Add pcie_aspm_capable()
>   r8169: Enable chip-specific ASPM regardless of PCIe ASPM status
>   r8169: Use mutex to guard config register locking
>   r8169: Implement dynamic ASPM mechanism
>
>  drivers/net/ethernet/realtek/r8169_main.c | 70 ++++++++++++++++++++---
>  drivers/pci/pcie/aspm.c                   | 11 ++++
>  include/linux/pci.h                       |  2 +
>  3 files changed, 74 insertions(+), 9 deletions(-)
>
> --
> 2.32.0
>