Re: [PATCH v2 net-next] checkpatch: Discourage a new use of rtnl_lock() variants.
From: Kuniyuki Iwashima <hidden>
Date: 2025-02-15 09:35:26
From: Eric Dumazet <edumazet@google.com> Date: Fri, 14 Feb 2025 15:15:48 +0100
On Fri, Feb 14, 2025 at 5:54 AM Kuniyuki Iwashima [off-list ref] wrote:quoted
rtnl_lock() is a "Big Kernel Lock" in the networking slow path and still serialises most of RTM_(NEW|DEL|SET)* rtnetlink requests. Commit 76aed95319da ("rtnetlink: Add per-netns RTNL.") started a very large, in-progress, effort to make the RTNL lock scope per network namespace. However, there are still some patches that newly use rtnl_lock(), which is now discouraged, and we need to revisit it later. Let's warn about the case by checkpatch. The target functions are as follows: * rtnl_lock() * rtnl_trylock() * rtnl_lock_interruptible() * rtnl_lock_killable() and the warning will be like: WARNING: A new use of rtnl_lock() variants is discouraged, try to use rtnl_net_lock(net) variants #18: FILE: net/core/rtnetlink.c:79: + rtnl_lock();I do wonder if this is not premature. After all, we have nothing in Documentation/ yet about this.
Fair point. I'll defer this patch at least until rtnetlink handlers are fully converted and the left thing to do is almost replacing existing RTNL, then I'll repost with a small doc.