]> git.ipfire.org Git - thirdparty/openwrt.git/commit
realtek: eth: convert to page_pool 23483/head
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Fri, 22 May 2026 16:34:17 +0000 (18:34 +0200)
committerMarkus Stockhausen <markus.stockhausen@gmx.de>
Sat, 30 May 2026 06:50:00 +0000 (08:50 +0200)
commit2b4503c7c97dc91eda395cbd874d6213e2bf7f6c
tree841b7582fcab5f6541e8fb354b946e364b9a76ca
parent8fd3e2fbec33f53e7a452b7cb2b41e1cff1bb837
realtek: eth: convert to page_pool

Drop the legacy receive handling and convert the driver to make
use of a zero-copy receive path. To save memory use the page
pool fragment feature. This way two SKBs will fit into one 4KB
page. With the parametrization of this patch the driver will
allocate about 600KB of receive buffers (2 rings with 300KB
each. This already includes space for the SKB header.

iperf3 benchmark gives:

RTL930x
- 1x stream send / from switch 170 Mbit -> 170 MBit
- 4x stream send / from switch 150 MBit -> 150 MBit
- 1x stream receive / to switch 320 MBit -> 400 MBit
- 4x stream receive / to switch 260 MBit -> 300 MBit

Link: https://github.com/openwrt/openwrt/pull/23483
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c