linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v9 0/5] r8169: Temporarily disable ASPM on NAPI poll
@ 2023-02-25  3:46 Kai-Heng Feng
  2023-02-25  3:46 ` [PATCH net-next v9 1/5] Revert "PCI/ASPM: Unexport pcie_aspm_support_enabled()" Kai-Heng Feng
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Kai-Heng Feng @ 2023-02-25  3:46 UTC (permalink / raw)
  To: hkallweit1, nic_swsd, bhelgaas
  Cc: koba.ko, acelan.kao, davem, edumazet, kuba, pabeni,
	sathyanarayanan.kuppuswamy, vidyas, rafael.j.wysocki, netdev,
	linux-kernel, linux-pci, Kai-Heng Feng

The series is to temporarily disable ASPM on NAPI poll, so the NIC can
"regain" the performace loss when ASPM is enabled. The idea is from
Realtek vendor driver's feature "dynamic ASPM" .

We have "dynamic ASPM" mechanism in Ubuntu 22.04 LTS kernel for quite a
while, and AFAIK it hasn't introduced any regression so far. 

A very similar issue was observed on Realtek wireless NIC, and it was
resolved by disabling ASPM during NAPI poll. So in v8 and v9, we use the
same approach, which is more straightforward, instead of toggling ASPM
based on packet count.

In addition to that, The series also enables ASPM on more systems where
BIOS doesn't grant OS ASPM control.

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

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

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 (5):
  Revert "PCI/ASPM: Unexport pcie_aspm_support_enabled()"
  PCI/ASPM: Add pcie_aspm_capable() helper
  r8169: Consider chip-specific ASPM can be enabled on more cases
  r8169: Use spinlock to guard config register locking
  r8169: Disable ASPM while doing NAPI poll

 drivers/net/ethernet/realtek/r8169_main.c | 42 +++++++++++++++++++----
 drivers/pci/pcie/aspm.c                   | 12 +++++++
 include/linux/pci.h                       |  2 ++
 3 files changed, 50 insertions(+), 6 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-03-10 20:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-25  3:46 [PATCH net-next v9 0/5] r8169: Temporarily disable ASPM on NAPI poll Kai-Heng Feng
2023-02-25  3:46 ` [PATCH net-next v9 1/5] Revert "PCI/ASPM: Unexport pcie_aspm_support_enabled()" Kai-Heng Feng
2023-02-25  6:09   ` Sathyanarayanan Kuppuswamy
2023-02-25  3:46 ` [PATCH net-next v9 2/5] PCI/ASPM: Add pcie_aspm_capable() helper Kai-Heng Feng
2023-02-25  6:10   ` Sathyanarayanan Kuppuswamy
2023-02-25  3:46 ` [PATCH net-next v9 3/5] r8169: Consider chip-specific ASPM can be enabled on more cases Kai-Heng Feng
2023-02-25  6:13   ` Sathyanarayanan Kuppuswamy
2023-03-09 20:17   ` Bjorn Helgaas
2023-03-10 20:42     ` Heiner Kallweit
2023-03-10 20:48       ` Bjorn Helgaas
2023-02-25  3:46 ` [PATCH net-next v9 4/5] r8169: Use spinlock to guard config register locking Kai-Heng Feng
2023-02-25  6:16   ` Sathyanarayanan Kuppuswamy
2023-02-25  3:46 ` [PATCH net-next v9 5/5] r8169: Disable ASPM while doing NAPI poll Kai-Heng Feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).