[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y+p6JAsc+OHxARyq@boxer>
Date: Mon, 13 Feb 2023 18:57:56 +0100
From: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
To: Alexander Lobakin <alexandr.lobakin@...el.com>
CC: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Magnus Karlsson <magnus.karlsson@...el.com>,
Toke Høiland-Jørgensen <toke@...hat.com>,
Martin KaFai Lau <martin.lau@...ux.dev>,
Song Liu <song@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
Jakub Kicinski <kuba@...nel.org>, <bpf@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH bpf-next 0/6] ice: post-mbuf fixes
On Fri, Feb 10, 2023 at 06:06:12PM +0100, Alexander Lobakin wrote:
> The set grew from the poor performance of %BPF_F_TEST_XDP_LIVE_FRAMES
> when the ice-backed device is a sender. Initially there were around
> 3.3 Mpps / thread, while I have 5.5 on skb-based pktgen...
>
> After fixing 0005 (0004 is a prereq for it) first (strange thing nobody
> noticed that earlier), I started catching random OOMs. This is how 0002
> (and partially 0001) appeared.
> 0003 is a suggestion from Maciej to not waste time on refactoring dead
> lines. 0006 is a "cherry on top" to get away with the final 6.7 Mpps.
> 4.5 of 6 are fixes, but only the first three are tagged, since it then
> starts being tricky. I may backport them manually later on.
>
> TL;DR for the series is that shortcuts are good, but only as long as
> they don't make the driver miss important things. %XDP_TX is purely
> driver-local, however .ndo_xdp_xmit() is not, and sometimes assumptions
> can be unsafe there.
>
> With that series and also one core code patch[0], "live frames" and
> xdp-trafficgen are now safe'n'fast on ice (probably more to come).
>
> [0] https://lore.kernel.org/all/20230209172827.874728-1-alexandr.lobakin@intel.com
> ---
> Goes to directly to bpf-next as touches the recently added/changed code.
For the series:
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
>
> Alexander Lobakin (6):
> ice: fix ice_tx_ring::xdp_tx_active underflow
> ice: fix XDP Tx ring overrun
> ice: remove two impossible branches on XDP Tx cleaning
> ice: robustify cleaning/completing XDP Tx buffers
> ice: fix freeing XDP frames backed by Page Pool
> ice: micro-optimize .ndo_xdp_xmit() path
>
> drivers/net/ethernet/intel/ice/ice_txrx.c | 67 +++++++++-----
> drivers/net/ethernet/intel/ice/ice_txrx.h | 37 ++++++--
> drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 88 ++++++++++++-------
> drivers/net/ethernet/intel/ice/ice_txrx_lib.h | 4 +-
> drivers/net/ethernet/intel/ice/ice_xsk.c | 12 +--
> 5 files changed, 136 insertions(+), 72 deletions(-)
>
> --
> 2.39.1
>
Powered by blists - more mailing lists