Re: [PATCH NET-PREV 00/51] Kill rtnl_lock using fine-grained nd_lock

From: Stanislav Fomichev
Date: Sun Mar 23 2025 - 22:51:26 EST


On 03/22, Kirill Tkhai wrote:
> Hi,
>
> this patchset shows the way to completely remove rtnl lock and that
> this process can be done iteratively without any shocks. It implements
> the architecture of new fine-grained locking to use instead of rtnl,
> and iteratively converts many drivers to use it.
>
> I mostly write this mostly a few years ago, more or less recently
> I rebased the patches on kernel around 6.11 (there should not
> be many conflicts on that version). Currenly I have no plans
> to complete this.
>
> If anyone wants to continue, this person can take this patchset
> and done the work.

Skimmed through, but high level comment: we are slowly migrating to netdev
instance/ops lock:

https://web.git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=cc34acd577f1a6ed805106bfcc9a262837dbd0da

Instead of introducing another nd_lock, it should be possible (in
theory) to convert existing upper/lower devices to maintain locking
hierarchy and grab upper->lower during netdev_lock_ops().

There are a few nasty places where we lock lower->upper->lower, like
this, that need careful consideration:

https://lore.kernel.org/netdev/20250313100657.2287455-1-sdf@xxxxxxxxxxx/