Jason Wang
2021-Jan-05 09:32 UTC
[PATCH netdev 0/5] virtio-net support xdp socket zero copy xmit
On 2021/1/5 ??5:11, Xuan Zhuo wrote:> The first patch made some adjustments to xsk.Thanks a lot for the work. It's rather interesting.> > The second patch itself can be used as an independent patch to solve the problem > that XDP may fail to load when the number of queues is insufficient.It would be better to send this as a separated patch. Several people asked for this before.> > The third to last patch implements support for xsk in virtio-net. > > A practical problem with virtio is that tx interrupts are not very reliable. > There will always be some missing or delayed tx interrupts. So I specially added > a point timer to solve this problem. Of course, considering performance issues, > The timer only triggers when the ring of the network card is full.This is sub-optimal. We need figure out the root cause. We don't meet such issue before. Several questions: - is tx interrupt enabled? - can you still see the issue if you disable event index? - what's backend did you use? qemu or vhost(user)?> > Regarding the issue of virtio-net supporting xsk's zero copy rx, I am also > developing it, but I found that the modification may be relatively large, so I > consider this patch set to be separated from the code related to xsk zero copy > rx.That's fine, but a question here. How is the multieuque being handled here. I'm asking since there's no programmable filters/directors support in virtio spec now. Thanks> > Xuan Zhuo (5): > xsk: support get page for drv > virtio-net: support XDP_TX when not more queues > virtio-net, xsk: distinguish XDP_TX and XSK XMIT ctx > xsk, virtio-net: prepare for support xsk > virtio-net, xsk: virtio-net support xsk zero copy tx > > drivers/net/virtio_net.c | 643 +++++++++++++++++++++++++++++++++++++++----- > include/linux/netdevice.h | 1 + > include/net/xdp_sock_drv.h | 10 + > include/net/xsk_buff_pool.h | 1 + > net/xdp/xsk_buff_pool.c | 10 +- > 5 files changed, 597 insertions(+), 68 deletions(-) > > -- > 1.8.3.1 >