Re: [PATCH netdev 0/5] virtio-net support xdp socket zero copy xmit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux