]> www.infradead.org Git - users/dwmw2/linux.git/commit
net: expedite synchronize_net() for cleanup_net()
authorEric Dumazet <edumazet@google.com>
Tue, 14 Jan 2025 20:55:27 +0000 (20:55 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 16 Jan 2025 03:17:03 +0000 (19:17 -0800)
commit0734d7c3d93cdcb8a56ce914d3c661300f24434d
tree80468bc3418393a591983bbe459a4c1d41f26474
parent0b6f6593aa8c3a05f155c12fd0e7ad33a5149c31
net: expedite synchronize_net() for cleanup_net()

cleanup_net() is the single thread responsible
for netns dismantles, and a serious bottleneck.

Before we can get per-netns RTNL, make sure
all synchronize_net() called from this thread
are using rcu_synchronize_expedited().

v3: deal with CONFIG_NET_NS=n

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jesse Brandeburg <jbrandeburg@cloudflare.com>
Link: https://patch.msgid.link/20250114205531.967841-2-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/net_namespace.h
net/core/dev.c
net/core/net_namespace.c