From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
andrew+netdev@lunn.ch, horms@kernel.org, jdamato@fastly.com,
Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH net-next v2 00/11] net: use netdev->lock to protect NAPI
Date: Tue, 14 Jan 2025 19:53:08 -0800 [thread overview]
Message-ID: <20250115035319.559603-1-kuba@kernel.org> (raw)
We recently added a lock member to struct net_device, with a vague
plan to start using it to protect netdev-local state, removing
the need to take rtnl_lock for new configuration APIs.
Lay some groundwork and use this lock for protecting NAPI APIs.
v2:
- reorder patches 2 and 3
- add missing READ_ONCE()
- fix up the kdoc to please Sphinx / htmldocs
- use napi_disabled_locked() in via-velocity
- update the comment on dev_isalive()
v1: https://lore.kernel.org/20250114035118.110297-1-kuba@kernel.org
Jakub Kicinski (11):
net: add netdev_lock() / netdev_unlock() helpers
net: make netdev_lock() protect netdev->reg_state
net: add helpers for lookup and walking netdevs under netdev_lock()
net: add netdev->up protected by netdev_lock()
net: protect netdev->napi_list with netdev_lock()
net: protect NAPI enablement with netdev_lock()
net: make netdev netlink ops hold netdev_lock()
net: protect threaded status of NAPI with netdev_lock()
net: protect napi->irq with netdev_lock()
net: protect NAPI config fields with netdev_lock()
netdev-genl: remove rtnl_lock protection from NAPI ops
include/linux/netdevice.h | 118 +++++++++++--
net/core/dev.h | 29 +++-
drivers/net/ethernet/amd/pcnet32.c | 11 +-
drivers/net/ethernet/intel/iavf/iavf_main.c | 84 ++++-----
drivers/net/ethernet/marvell/mvneta.c | 5 +-
drivers/net/ethernet/via/via-velocity.c | 6 +-
drivers/net/netdevsim/ethtool.c | 4 +-
net/core/dev.c | 183 ++++++++++++++++++--
net/core/net-sysfs.c | 39 ++++-
net/core/netdev-genl.c | 56 +++---
net/shaper/shaper.c | 6 +-
11 files changed, 420 insertions(+), 121 deletions(-)
--
2.48.0
next reply other threads:[~2025-01-15 3:53 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 3:53 Jakub Kicinski [this message]
2025-01-15 3:53 ` [PATCH net-next v2 01/11] net: add netdev_lock() / netdev_unlock() helpers Jakub Kicinski
2025-01-15 8:21 ` Kuniyuki Iwashima
2025-01-15 8:36 ` Przemek Kitszel
2025-01-15 9:24 ` Ido Schimmel
2025-01-15 14:08 ` Jakub Kicinski
2025-01-15 14:24 ` Przemek Kitszel
2025-01-15 3:53 ` [PATCH net-next v2 02/11] net: make netdev_lock() protect netdev->reg_state Jakub Kicinski
2025-01-15 8:30 ` Kuniyuki Iwashima
2025-01-15 14:18 ` Jakub Kicinski
2025-01-15 3:53 ` [PATCH net-next v2 03/11] net: add helpers for lookup and walking netdevs under netdev_lock() Jakub Kicinski
2025-01-15 8:41 ` Kuniyuki Iwashima
2025-01-15 3:53 ` [PATCH net-next v2 04/11] net: add netdev->up protected by netdev_lock() Jakub Kicinski
2025-01-15 8:45 ` Kuniyuki Iwashima
2025-01-15 3:53 ` [PATCH net-next v2 05/11] net: protect netdev->napi_list with netdev_lock() Jakub Kicinski
2025-01-15 8:57 ` Kuniyuki Iwashima
2025-01-17 22:21 ` Eric Dumazet
2025-01-17 22:52 ` Jakub Kicinski
2025-01-15 3:53 ` [PATCH net-next v2 06/11] net: protect NAPI enablement " Jakub Kicinski
2025-01-15 9:02 ` Kuniyuki Iwashima
2025-01-21 8:32 ` Dan Carpenter
2025-01-21 8:50 ` David Laight
2025-01-21 15:27 ` Dan Carpenter
2025-01-15 3:53 ` [PATCH net-next v2 07/11] net: make netdev netlink ops hold netdev_lock() Jakub Kicinski
2025-01-15 9:07 ` Kuniyuki Iwashima
2025-01-15 3:53 ` [PATCH net-next v2 08/11] net: protect threaded status of NAPI with netdev_lock() Jakub Kicinski
2025-01-15 9:09 ` Kuniyuki Iwashima
2025-01-15 3:53 ` [PATCH net-next v2 09/11] net: protect napi->irq " Jakub Kicinski
2025-01-15 9:12 ` Kuniyuki Iwashima
2025-01-15 3:53 ` [PATCH net-next v2 10/11] net: protect NAPI config fields " Jakub Kicinski
2025-01-15 9:15 ` Kuniyuki Iwashima
2025-01-15 3:53 ` [PATCH net-next v2 11/11] netdev-genl: remove rtnl_lock protection from NAPI ops Jakub Kicinski
2025-01-15 9:18 ` Kuniyuki Iwashima
2025-01-16 3:30 ` [PATCH net-next v2 00/11] net: use netdev->lock to protect NAPI patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250115035319.559603-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jdamato@fastly.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.