Merge branch 'net-more-factorization-in-cleanup_net-paths'
authorJakub Kicinski <kuba@kernel.org>
Thu, 8 Feb 2024 02:55:15 +0000 (18:55 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 8 Feb 2024 02:55:16 +0000 (18:55 -0800)
commitb6b614558ed5b2ca50edacc0f2fbf5f52158c86c
treef7dcd82263393d8c8dee032a7f6926cd43f9a045
parenta1e55f51035e6aa65cf2d11d2147f2bf9edf81f9
parent8962daccc2d32812fe24bd21496c036eb4f454b0
Merge branch 'net-more-factorization-in-cleanup_net-paths'

Eric Dumazet says:

====================
net: more factorization in cleanup_net() paths

This series is inspired by recent syzbot reports hinting to RTNL and
workqueue abuses.

rtnl_lock() is unfair to (single threaded) cleanup_net(), because
many threads can cause contention on it.

This series adds a new (struct pernet_operations) method,
so that cleanup_net() can hold RTNL longer once it finally
acquires it.

It also factorizes unregister_netdevice_many(), to further
reduce stalls in cleanup_net().

Link: https://lore.kernel.org/netdev/CANn89iLJrrJs+6Vc==Un4rVKcpV0Eof4F_4w1_wQGxUCE2FWAg@mail.gmail.com/T/#u
https://lore.kernel.org/netdev/170688415193.5216.10499830272732622816@kwain/
====================

Link: https://lore.kernel.org/r/20240206144313.2050392-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>