Merge branch 'xdp-ice-mbuf'
Alexander Lobakin says: ==================== 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 ==================== Signed-off-by:Daniel Borkmann <daniel@iogearbox.net>
No related branches found
No related tags found
Showing
- drivers/net/ethernet/intel/ice/ice_txrx.c 43 additions, 24 deletionsdrivers/net/ethernet/intel/ice/ice_txrx.c
- drivers/net/ethernet/intel/ice/ice_txrx.h 28 additions, 9 deletionsdrivers/net/ethernet/intel/ice/ice_txrx.h
- drivers/net/ethernet/intel/ice/ice_txrx_lib.c 56 additions, 32 deletionsdrivers/net/ethernet/intel/ice/ice_txrx_lib.c
- drivers/net/ethernet/intel/ice/ice_txrx_lib.h 2 additions, 2 deletionsdrivers/net/ethernet/intel/ice/ice_txrx_lib.h
- drivers/net/ethernet/intel/ice/ice_xsk.c 7 additions, 5 deletionsdrivers/net/ethernet/intel/ice/ice_xsk.c
Loading
Please register or sign in to comment