Files
linux-stable-mirror/include/net
Eric Dumazet 1e222169f7 net: add exit_batch_rtnl() method
[ Upstream commit fd4f101edb ]

Many (struct pernet_operations)->exit_batch() methods have
to acquire rtnl.

In presence of rtnl mutex pressure, this makes cleanup_net()
very slow.

This patch adds a new exit_batch_rtnl() method to reduce
number of rtnl acquisitions from cleanup_net().

exit_batch_rtnl() handlers are called while rtnl is locked,
and devices to be killed can be queued in a list provided
as their second argument.

A single unregister_netdevice_many() is called right
before rtnl is released.

exit_batch_rtnl() handlers are called before ->exit() and
->exit_batch() handlers.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Antoine Tenart <atenart@kernel.org>
Link: https://lore.kernel.org/r/20240206144313.2050392-2-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 46841c7053 ("gtp: Use for_each_netdev_rcu() in gtp_genl_dump_pdp().")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-23 17:21:10 +01:00
..
2023-11-20 11:59:34 +01:00
2024-01-31 16:19:01 -08:00
2023-04-22 01:39:41 +02:00
2024-10-04 16:29:56 +02:00
2024-12-19 18:11:28 +01:00
2023-08-22 17:31:18 -07:00
2023-05-11 18:07:05 -07:00
2023-07-14 20:39:30 -07:00
2023-02-16 09:27:07 +01:00
2024-07-18 13:21:12 +02:00
2023-07-28 14:07:59 -07:00
2023-11-20 11:58:56 +01:00
2023-08-02 10:58:26 +01:00
2023-07-19 09:56:49 -07:00