]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
virtio-net: support XDP when not more queues
authorXuan Zhuo <xuanzhuo@linux.alibaba.com>
Wed, 10 Mar 2021 02:24:45 +0000 (10:24 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Mar 2021 20:45:14 +0000 (12:45 -0800)
commit97c2c69e1926260c78c7f1c0b2c987934f1dc7a1
treea74a737cc75efcf3a1a7c7b21df03caf79d954e6
parent0bb3262c0248d44aea3be31076f44beb82a7b120
virtio-net: support XDP when not more queues

The number of queues implemented by many virtio backends is limited,
especially some machines have a large number of CPUs. In this case, it
is often impossible to allocate a separate queue for
XDP_TX/XDP_REDIRECT, then xdp cannot be loaded to work, even xdp does
not use the XDP_TX/XDP_REDIRECT.

This patch allows XDP_TX/XDP_REDIRECT to run by reuse the existing SQ
with __netif_tx_lock() hold when there are not enough queues.

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Reviewed-by: Dust Li <dust.li@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c