Thread (34 messages) flat view 34 messages, 8 authors, 2025-01-21

Re: [PATCH net-next v2 01/11] net: add netdev_lock() / netdev_unlock() helpers

From: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Date: 2025-01-15 08:37:04

On 1/15/25 04:53, Jakub Kicinski wrote:
Add helpers for locking the netdev instance, use it in drivers
and the shaper code. This will make grepping for the lock usage
much easier, as we extend the lock to cover more fields.

Reviewed-by: Joe Damato <redacted>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
---
CC: anthony.l.nguyen@intel.com
CC: przemyslaw.kitszel@intel.com
CC: jiri@resnulli.us
---
  include/linux/netdevice.h                   | 23 ++++++-
  drivers/net/ethernet/intel/iavf/iavf_main.c | 74 ++++++++++-----------
  drivers/net/netdevsim/ethtool.c             |  4 +-
  net/shaper/shaper.c                         |  6 +-
  4 files changed, 63 insertions(+), 44 deletions(-)
Thank you,
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>

and Ack for iavf too
quoted hunk ↗ jump to hunk
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index bced03fb349e..891c5bdb894c 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2444,8 +2444,12 @@ struct net_device {
  	u32			napi_defer_hard_irqs;
  
  	/**
-	 * @lock: protects @net_shaper_hierarchy, feel free to use for other
-	 * netdev-scope protection. Ordering: take after rtnl_lock.
+	 * @lock: netdev-scope lock, protects a small selection of fields.
+	 * Should always be taken using netdev_lock() / netdev_unlock() helpers.
+	 * Drivers are free to use it for other protection.
As with devl_lock(), would be good to specify the ordering for those who
happen to take both. My guess is that devl_lock() is after netdev_lock()
+	 *
+	 * Protects: @net_shaper_hierarchy.
+	 * Ordering: take after rtnl_lock.
  	 */
  	struct mutex		lock;
  
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help