aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/scripts/objdiff
diff options
context:
space:
mode:
authorNicolai Buchwitz <nb@tipi-net.de>2026-09-24 12:19:21 +0200
committerJakub Kicinski <kuba@kernel.org>2026-09-25 17:28:17 -0700
commit0e7fe2b0ca45343b53345edc174898b448ccdaa4 (patch)
treeba05b27ac683129f2242d476c02e20f147fad166 /scripts/objdiff
parentnet/sched: cls_api: reclaim an empty proto on the error path (diff)
net: bcmgenet: allocate RX buffers as page fragments
Since the page_pool conversion every RX buffer is a whole page and the skb truesize is the page, although the hardware writes at most 2 KiB of it. On 64 KiB pages a packet therefore counts 65792 bytes against the socket buffer where it used to count 2752. As a result a UDP socket with the default buffer starts to drop after three packets, and the RX rings pin 16 MiB for 512 KiB of buffers. Fix this and allocate the buffers as page fragments, so the truesize is what a packet occupies. 4 KiB pages stay one buffer per page. Sync each buffer in the refill path, as page_pool can only sync a whole page on recycle. On 4 KiB pages that is twice what the hardware wrote. Fixes: 7bc054c2d4ed ("net: bcmgenet: convert RX path to page_pool") Reported-by: Karl Mehltretter <kmehltretter@gmail.com> Closes: https://lore.kernel.org/all/20260924065839.56793-1-kmehltretter@gmail.com/ Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20260924101922.2675127-1-nb@tipi-net.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions