On Wed, Jan 22, 2025 at 04:10:44PM +0100, Maciej Fijalkowski wrote: > 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 <x...@redhat.com> > Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com> > Co-developed-by: Jacob Keller <jacob.e.kel...@intel.com> > Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com> > Signed-off-by: Maciej Fijalkowski <maciej.fijalkow...@intel.com>
Reviewed-by: Simon Horman <ho...@kernel.org>