>-----Original Message-----
>From: Intel-wired-lan <[email protected]> On Behalf Of
>Fijalkowski, Maciej
>Sent: Thursday, January 23, 2025 8:31 PM
>To: [email protected]
>Cc: Fijalkowski, Maciej <[email protected]>;
>[email protected]; [email protected]; Nguyen, Anthony L
><[email protected]>; Simon Horman <[email protected]>; Kitszel,
>Przemyslaw <[email protected]>; Keller, Jacob E
><[email protected]>; Maxwell, Jon <[email protected]>; Karlsson,
>Magnus <[email protected]>
>Subject: [Intel-wired-lan] [PATCH v5 iwl-net 1/3] 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]>
>---
> drivers/net/ethernet/intel/ice/ice_txrx.c | 79 ++++++++++++++---------
> 1 file changed, 50 insertions(+), 29 deletions(-)
>
Tested-by: Chandan Kumar Rout <[email protected]> (A Contingent Worker at
Intel)