]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: Synchronize tx when xdp redirects happen on same ring
authorPavan Chebbi <pavan.chebbi@broadcom.com>
Sat, 2 Apr 2022 00:21:10 +0000 (20:21 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Apr 2022 11:44:50 +0000 (12:44 +0100)
commit331932fee082b6fc42cdd34665d250da29795df0
tree0c65c2d7d7bc7e2d37b9eee8649b0b0e895566da
parent15b0b01fd8ec2244b606dfbc2d14b917b58c2263
bnxt_en: Synchronize tx when xdp redirects happen on same ring

If there are more CPUs than the number of TX XDP rings, multiple XDP
redirects can select the same TX ring based on the CPU on which
XDP redirect is called.  Add locking when needed and use static
key to decide whether to take the lock.

Fixes: 6260944814e6 ("bnxt_en: optimized XDP_REDIRECT support")
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h