From: Ido Schimmel <idosch@idosch.org>
To: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, jiri@resnulli.us,
anthony.l.nguyen@intel.com, edumazet@google.com,
pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org,
jdamato@fastly.com, davem@davemloft.net
Subject: Re: [PATCH net-next v2 01/11] net: add netdev_lock() / netdev_unlock() helpers
Date: Wed, 15 Jan 2025 11:24:34 +0200 [thread overview]
Message-ID: <Z4d-0sV70xAX0SIz@shredder> (raw)
In-Reply-To: <e7479c79-525d-4796-b9ed-7ae2ddb5435b@intel.com>
On Wed, Jan 15, 2025 at 09:36:11AM +0100, Przemek Kitszel wrote:
> 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 <jdamato@fastly.com>
> > 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
>
> >
> > 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()
devl_lock() protects the entire devlink instance and net devices are
registered under the instance lock, so I expect the order to be:
devl_lock() -> rtnl_lock() -> netdev_lock()
>
> > + *
> > + * Protects: @net_shaper_hierarchy.
> > + * Ordering: take after rtnl_lock.
> > */
> > struct mutex lock;
>
>
next prev parent reply other threads:[~2025-01-15 9:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 3:53 [PATCH net-next v2 00/11] net: use netdev->lock to protect NAPI Jakub Kicinski
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 [this message]
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=Z4d-0sV70xAX0SIz@shredder \
--to=idosch@idosch.org \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jdamato@fastly.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=przemyslaw.kitszel@intel.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.