[Patch net-next v6 0/7] r8169: add RSS support for RTL8127

javen posted 7 patches 1 week, 6 days ago
There is a newer version of this series
drivers/net/ethernet/realtek/r8169_main.c | 1118 ++++++++++++++++++---
1 file changed, 977 insertions(+), 141 deletions(-)
[Patch net-next v6 0/7] r8169: add RSS support for RTL8127
Posted by javen 1 week, 6 days ago
From: Javen Xu <javen_xu@realsil.com.cn>

This patch series adds RSS (Receive Side Scaling) support for the r8169
ethernet driver, specifically for RTL8127 (RTL_GIGA_MAC_VER_80).

RSS enables packet distribution across multiple receive queues, which can
significantly improve network throughput on multi-core systems by allowing
parallel processing of incoming packets.

Key features:
- Multi-queue RX support (up to 8 queues)
- MSI-X interrupt with vector mapping
- Dynamic queue configuration via ethtool (-L)
- RSS hash computation for flow classification

Experiments:
Platform: AMD Ryzen Embedded R2514 with Radeon Graphics(4 Cores/8 Threads)
Arch: x86_64
Test command: 
  Server: iperf3 -s
  Client: iperf3 -c 192.168.2.1 -P 20 -t 3600
Monitor: mpstat -P ALL 1

Before this patch (Without RSS):
  Throughput: Unstable, fluctuating between 3.76 Gbits/sec and
  8.2 Gbits/sec.
  CPU Usage: A single CPU core is fully occupied with softirq reaching 
  up to 96%.

After this patch (With RSS enabled):
  Throughput: Stable at 9.42 Gbits/sec.
  CPU Usage: The traffic load is evenly distributed across multiple CPU
  cores. The maximum softirq on a single core dropped to 63%.
  
Other Experiments:
Link: https://lore.kernel.org/netdev/0A5279953D81BB9C+f50c9b49-3e5d-467f-b69a-7e49ed223383@radxa.com/

Javen Xu (7):
  r8169: add support for multi irqs
  r8169: add support for multi rx queues
  r8169: add support for new interrupt mapping
  r8169: enable new interrupt mapping
  r8169: add support and enable rss
  r8169: move struct ethtool_ops
  r8169: support setting rx queue numbers via ethtool

 drivers/net/ethernet/realtek/r8169_main.c | 1118 ++++++++++++++++++---
 1 file changed, 977 insertions(+), 141 deletions(-)

-- 
2.43.0
RE: [Patch net-next v6 0/7] r8169: add RSS support for RTL8127
Posted by Javen 1 week ago
>This patch series adds RSS (Receive Side Scaling) support for the r8169
>ethernet driver, specifically for RTL8127 (RTL_GIGA_MAC_VER_80).
>
>RSS enables packet distribution across multiple receive queues, which can
>significantly improve network throughput on multi-core systems by allowing
>parallel processing of incoming packets.
>
>Key features:
>- Multi-queue RX support (up to 8 queues)
>- MSI-X interrupt with vector mapping
>- Dynamic queue configuration via ethtool (-L)
>- RSS hash computation for flow classification
>
Hi, Heiner

A gentle ping on this v6 patch.

I have received some feedback from other reviewers (and AI bot) during this week, and I have already addressed those comments locally.

Before I send out the v7 patchset, I wanted to kindly check if you have any additional comments on this v6? Or would you prefer me to send out v7 directly with the current fixes so you can review the latest version?

Thanks for your time and help!

Best regards,
Javen