|
|
Log in / Subscribe / Register

net: skip taking rtnl_lock for queue GET

From:  Jakub Kicinski <kuba-AT-kernel.org>
To:  davem-AT-davemloft.net
Subject:  [PATCH net-next 00/11] net: skip taking rtnl_lock for queue GET
Date:  Wed, 12 Mar 2025 23:34:56 +0100
Message-ID:  <20250312223507.805719-1-kuba@kernel.org>
Cc:  netdev-AT-vger.kernel.org, edumazet-AT-google.com, pabeni-AT-redhat.com, andrew+netdev-AT-lunn.ch, horms-AT-kernel.org, sdf-AT-fomichev.me, Jakub Kicinski <kuba-AT-kernel.org>
Archive-link:  Article

Skip taking rtnl_lock for queue GET ops on devices which opt
into running all ops under the instance lock.

Jakub Kicinski (11):
  net: bubble up taking netdev instance lock to callers of
    net_devmem_unbind_dmabuf()
  net: remove netif_set_real_num_rx_queues() helper for when SYSFS=n
  net: constify dev pointer in misc instance lock helpers
  net: explain "protection types" for the instance lock
  net: designate queue counts as "double ops protected" by instance lock
  net: designate queue -> napi linking as "ops protected"
  net: protect rxq->mp_params with the instance lock
  net: make NETDEV_UNREGISTER and instance lock more consistent
  net: designate XSK pool pointers in queues as "ops protected"
  netdev: add "ops compat locking" helpers
  netdev: don't hold rtnl_lock over nl queue info get when possible

 include/linux/netdevice.h     | 41 ++++++++++++---------
 include/net/netdev_lock.h     | 36 ++++++++++++++++--
 include/net/netdev_rx_queue.h |  6 +--
 net/core/dev.h                | 15 ++++++++
 net/core/dev.c                | 69 +++++++++++++++++++++++++++++++----
 net/core/devmem.c             |  2 -
 net/core/net-sysfs.c          |  2 +
 net/core/netdev-genl.c        | 27 ++++++++------
 net/core/netdev_rx_queue.c    |  3 ++
 net/core/page_pool.c          |  7 +---
 net/xdp/xsk_buff_pool.c       |  3 ++
 11 files changed, 162 insertions(+), 49 deletions(-)

-- 
2.48.1




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds