netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/4] net: remove rtnl_lock from the callers of queue APIs
@ 2025-03-07 15:57 Stanislav Fomichev
  2025-03-07 15:57 ` [PATCH net-next v1 1/4] net: create netdev_nl_sock to wrap bindings list Stanislav Fomichev
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Stanislav Fomichev @ 2025-03-07 15:57 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux-kernel, horms, donald.hunter,
	michael.chan, pavan.chebbi, andrew+netdev, jdamato, sdf, xuanzhuo,
	almasrymina, asml.silence, dw

All drivers that use queue management APIs already depend on the netdev
lock. Ultimately, we want to have most of the paths that work with
specific netdev to be rtnl_lock-free (ethtool mostly in particular).
Queue API currently has a much smaller API surface, so start with
rtnl_lock from it:

- add mutex to each dmabuf binding (to replace rtnl_lock)
- protect global net_devmem_dmabuf_bindings with a new (global) lock
- move netdev lock management to the callers of netdev_rx_queue_restart
  and drop rtnl_lock

Cc: Mina Almasry <almasrymina@google.com>

Stanislav Fomichev (4):
  net: create netdev_nl_sock to wrap bindings list
  net: protect net_devmem_dmabuf_bindings by new
    net_devmem_bindings_mutex
  net: add granular lock for the netdev netlink socket
  net: drop rtnl_lock for queue_mgmt operations

 Documentation/netlink/specs/netdev.yaml   |  4 +--
 drivers/net/ethernet/broadcom/bnxt/bnxt.c |  4 +--
 drivers/net/netdevsim/netdev.c            |  4 +--
 include/net/netdev_netlink.h              | 12 +++++++
 net/core/devmem.c                         | 32 ++++++++---------
 net/core/netdev-genl-gen.c                |  4 +--
 net/core/netdev-genl-gen.h                |  6 ++--
 net/core/netdev-genl.c                    | 42 ++++++++++-------------
 net/core/netdev_rx_queue.c                | 15 +++-----
 9 files changed, 63 insertions(+), 60 deletions(-)
 create mode 100644 include/net/netdev_netlink.h

-- 
2.48.1


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-03-10  5:45 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-07 15:57 [PATCH net-next v1 0/4] net: remove rtnl_lock from the callers of queue APIs Stanislav Fomichev
2025-03-07 15:57 ` [PATCH net-next v1 1/4] net: create netdev_nl_sock to wrap bindings list Stanislav Fomichev
2025-03-07 15:57 ` [PATCH net-next v1 2/4] net: protect net_devmem_dmabuf_bindings by new net_devmem_bindings_mutex Stanislav Fomichev
2025-03-07 17:49   ` Jakub Kicinski
2025-03-07 19:36     ` Stanislav Fomichev
2025-03-07 15:57 ` [PATCH net-next v1 3/4] net: add granular lock for the netdev netlink socket Stanislav Fomichev
2025-03-07 17:50   ` Jakub Kicinski
2025-03-07 19:35     ` Stanislav Fomichev
2025-03-07 23:33       ` Jakub Kicinski
2025-03-07 23:34   ` Jakub Kicinski
2025-03-07 23:43     ` Stanislav Fomichev
2025-03-09 21:57       ` Mina Almasry
2025-03-10  5:02         ` Stanislav Fomichev
2025-03-10  5:45           ` Mina Almasry
2025-03-07 15:57 ` [PATCH net-next v1 4/4] net: drop rtnl_lock for queue_mgmt operations Stanislav Fomichev
2025-03-07 23:39   ` Jakub Kicinski
2025-03-07 23:50     ` Stanislav Fomichev
2025-03-08  3:22 ` [PATCH net-next v1 0/4] net: remove rtnl_lock from the callers of queue APIs Jakub Kicinski
2025-03-08  3:33   ` Stanislav Fomichev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).