OSDN Git Service

Merge branch 'xdp-ice-mbuf'
authorDaniel Borkmann <daniel@iogearbox.net>
Mon, 13 Feb 2023 18:13:13 +0000 (19:13 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 13 Feb 2023 18:13:18 +0000 (19:13 +0100)
commit39c536acc3cf89b49c22f9e7f3f6578d3332944e
treea4711ebfbe3eda0cdc10b3c91d0d2c13762132e4
parent0b0757244754ea1d0721195c824770f5576e119e
parentad07f29b9c9a29eba04b19116c6db51387a638d7
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>