]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: fallback for lack of xdp tx queues
authorÍñigo Huguet <ihuguet@redhat.com>
Thu, 9 Sep 2021 09:28:45 +0000 (11:28 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Sep 2021 10:17:37 +0000 (11:17 +0100)
commitbdfd403bcd328499fc4245083d69bcd593f2d345
tree36b7b984b10d9042349c6b8b1128109dc1c5b402
parent3e00922f9651612f079fa3b96af53714305704fe
sfc: fallback for lack of xdp tx queues

If there are not enough resources to allocate one TX queue per core for
XDP TX it was completely disabled.

This patch implements a fallback solution for sharing the available
queues using __netif_tx_lock for synchronization. In the normal case that
there is one TX queue per CPU, no locking is done, as it was before.

With this fallback solution, XDP TX will work in much more cases that
were failing, specially in machines with many CPUs. It's hard for XDP
users to know what features are supported across different NICs and
configurations, so they will benefit on having wider support.

Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/efx_channels.c
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/tx.c