Alexander Lobakin wrote:
This series introduces XSK generic zerocopy xmit by adding XSK umem
pages as skb frags instead of copying data to linear space.
The only requirement for this for drivers is to be able to xmit skbs
with skb_headlen(skb) == 0, i.e. all data including hard headers
starts from frag 0.
To indicate whether a particular driver supports this, a new netdev
priv flag, IFF_TX_SKB_NO_LINEAR, is added (and declared in virtio_net
as it's already capable of doing it). So consider implementing this
in your drivers to greatly speed-up generic XSK xmit.
[...]
---------------- Performance Testing ------------
The test environment is Aliyun ECS server.
Test cmd:
xdpsock -i eth0 -t -S -s <msg size>
Test result data:
size 64 512 1024 1500
copy 1916747 1775988 1600203 1440054
page 1974058 1953655 1945463 1904478
percent 3.0% 10.0% 21.58% 32.3%
For the series, but might be good to get Dave or Jakub to check
2/6 to be sure they agree.
Acked-by: John Fastabend <john.fastabend@gmail.com>