net: hold netdev instance lock during queue operations
authorStanislav Fomichev <sdf@fomichev.me>
Wed, 5 Mar 2025 16:37:23 +0000 (08:37 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 6 Mar 2025 20:59:43 +0000 (12:59 -0800)
commitcae03e5bdd9e0c8570506c50f1f234da40201732
tree6ba78649fe86149ca22105ed86327ed18e5759e5
parenta0527ee2df3f55cd4793e83ffc07e8e2a594086b
net: hold netdev instance lock during queue operations

For the drivers that use queue management API, switch to the mode where
core stack holds the netdev instance lock. This affects the following
drivers:
- bnxt
- gve
- netdevsim

Originally I locked only start/stop, but switched to holding the
lock over all iterations to make them look atomic to the device
(feels like it should be easier to reason about).

Reviewed-by: Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeed@kernel.org>
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250305163732.2766420-6-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/google/gve/gve_main.c
drivers/net/ethernet/google/gve/gve_utils.c
drivers/net/netdevsim/netdev.c
include/linux/netdevice.h
net/core/netdev_rx_queue.c