netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/11] net: use netdev->lock to protect NAPI
@ 2025-01-14  3:51 Jakub Kicinski
  2025-01-14  3:51 ` [PATCH net-next 01/11] net: add netdev_lock() / netdev_unlock() helpers Jakub Kicinski
                   ` (10 more replies)
  0 siblings, 11 replies; 34+ messages in thread
From: Jakub Kicinski @ 2025-01-14  3:51 UTC (permalink / raw)
  To: davem
  Cc: netdev, edumazet, pabeni, andrew+netdev, horms, jdamato,
	Jakub Kicinski

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.

Jakub Kicinski (11):
  net: add netdev_lock() / netdev_unlock() helpers
  net: add helpers for lookup and walking netdevs under netdev_lock()
  net: make netdev_lock() protect netdev->reg_state
  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                   | 117 +++++++++++--
 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     |   4 +-
 drivers/net/netdevsim/ethtool.c             |   4 +-
 net/core/dev.c                              | 183 ++++++++++++++++++--
 net/core/net-sysfs.c                        |  37 +++-
 net/core/netdev-genl.c                      |  56 +++---
 net/shaper/shaper.c                         |   6 +-
 11 files changed, 417 insertions(+), 119 deletions(-)

-- 
2.47.1


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

end of thread, other threads:[~2025-01-14 23:51 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-14  3:51 [PATCH net-next 00/11] net: use netdev->lock to protect NAPI Jakub Kicinski
2025-01-14  3:51 ` [PATCH net-next 01/11] net: add netdev_lock() / netdev_unlock() helpers Jakub Kicinski
2025-01-14 12:50   ` Eric Dumazet
2025-01-14 22:45   ` Joe Damato
2025-01-14  3:51 ` [PATCH net-next 02/11] net: add helpers for lookup and walking netdevs under netdev_lock() Jakub Kicinski
2025-01-14 13:03   ` Eric Dumazet
2025-01-14 14:45     ` Jakub Kicinski
2025-01-14 22:53   ` Joe Damato
2025-01-14 23:51     ` Jakub Kicinski
2025-01-14  3:51 ` [PATCH net-next 03/11] net: make netdev_lock() protect netdev->reg_state Jakub Kicinski
2025-01-14 13:05   ` Eric Dumazet
2025-01-14 22:57   ` Joe Damato
2025-01-14  3:51 ` [PATCH net-next 04/11] net: add netdev->up protected by netdev_lock() Jakub Kicinski
2025-01-14 13:08   ` Eric Dumazet
2025-01-14 23:09   ` Joe Damato
2025-01-14  3:51 ` [PATCH net-next 05/11] net: protect netdev->napi_list with netdev_lock() Jakub Kicinski
2025-01-14 13:09   ` Eric Dumazet
2025-01-14 23:10   ` Joe Damato
2025-01-14  3:51 ` [PATCH net-next 06/11] net: protect NAPI enablement " Jakub Kicinski
2025-01-14 13:14   ` Eric Dumazet
2025-01-14 23:00   ` Francois Romieu
2025-01-14  3:51 ` [PATCH net-next 07/11] net: make netdev netlink ops hold netdev_lock() Jakub Kicinski
2025-01-14 13:16   ` Eric Dumazet
2025-01-14  3:51 ` [PATCH net-next 08/11] net: protect threaded status of NAPI with netdev_lock() Jakub Kicinski
2025-01-14 13:19   ` Eric Dumazet
2025-01-14  3:51 ` [PATCH net-next 09/11] net: protect napi->irq " Jakub Kicinski
2025-01-14 13:20   ` Eric Dumazet
2025-01-14 23:19   ` Joe Damato
2025-01-14  3:51 ` [PATCH net-next 10/11] net: protect NAPI config fields " Jakub Kicinski
2025-01-14 13:23   ` Eric Dumazet
2025-01-14 23:20   ` Joe Damato
2025-01-14  3:51 ` [PATCH net-next 11/11] netdev-genl: remove rtnl_lock protection from NAPI ops Jakub Kicinski
2025-01-14 13:25   ` Eric Dumazet
2025-01-14 23:21   ` Joe Damato

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).