diff options
| author | Maciej Fijalkowski <[email protected]> | 2025-01-23 15:01:16 +0000 |
|---|---|---|
| committer | Tony Nguyen <[email protected]> | 2025-01-31 17:51:47 +0000 |
| commit | 743bbd93cf29f653fae0e1416a31f03231689911 (patch) | |
| tree | 8322a05a64e152ece5ca5afa9b6a1c2ca04dd310 /scripts/rustdoc_test_gen.rs | |
| parent | Merge tag 'net-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff) | |
| download | kernel-743bbd93cf29f653fae0e1416a31f03231689911.tar.gz kernel-743bbd93cf29f653fae0e1416a31f03231689911.zip | |
ice: put Rx buffers after being done with current frame
Introduce a new helper ice_put_rx_mbuf() that will go through gathered
frags from current frame and will call ice_put_rx_buf() on them. Current
logic that was supposed to simplify and optimize the driver where we go
through a batch of all buffers processed in current NAPI instance turned
out to be broken for jumbo frames and very heavy load that was coming
from both multi-thread iperf and nginx/wrk pair between server and
client. The delay introduced by approach that we are dropping is simply
too big and we need to take the decision regarding page
recycling/releasing as quick as we can.
While at it, address an error path of ice_add_xdp_frag() - we were
missing buffer putting from day 1 there.
As a nice side effect we get rid of annoying and repetitive three-liner:
xdp->data = NULL;
rx_ring->first_desc = ntc;
rx_ring->nr_frags = 0;
by embedding it within introduced routine.
Fixes: 1dc1a7e7f410 ("ice: Centrallize Rx buffer recycling")
Reported-and-tested-by: Xu Du <[email protected]>
Reviewed-by: Przemek Kitszel <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Co-developed-by: Jacob Keller <[email protected]>
Signed-off-by: Jacob Keller <[email protected]>
Signed-off-by: Maciej Fijalkowski <[email protected]>
Tested-by: Chandan Kumar Rout <[email protected]> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'scripts/rustdoc_test_gen.rs')
0 files changed, 0 insertions, 0 deletions
