linux/include
Kuniyuki Iwashima 7a60d91c69 net: Add ->exit_rtnl() hook to struct pernet_operations.
struct pernet_operations provides two batching hooks; ->exit_batch()
and ->exit_batch_rtnl().

The batching variant is beneficial if ->exit() meets any of the
following conditions:

  1) ->exit() repeatedly acquires a global lock for each netns

  2) ->exit() has a time-consuming operation that can be factored
     out (e.g. synchronize_rcu(), smp_mb(), etc)

  3) ->exit() does not need to repeat the same iterations for each
     netns (e.g. inet_twsk_purge())

Currently, none of the ->exit_batch_rtnl() functions satisfy any of
the above conditions because RTNL is factored out and held by the
caller and all of these functions iterate over the dying netns list.

Also, we want to hold per-netns RTNL there but avoid spreading
__rtnl_net_lock() across multiple locations.

Let's add ->exit_rtnl() hook and run it under __rtnl_net_lock().

The following patches will convert all ->exit_batch_rtnl() users
to ->exit_rtnl().

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20250411205258.63164-4-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-04-14 17:08:41 -07:00
..
acpi misc: Constify amba_id table 2025-03-29 18:25:34 -07:00
asm-generic RISC-V Patches for the 6.15 Merge Window, Part 1 2025-04-04 09:49:17 -07:00
clocksource
crypto This update includes the following changes: 2025-03-29 10:01:55 -07:00
cxl cxl for v6.15 2025-04-02 20:04:43 -07:00
drm Rust changes for v6.15 2025-03-30 17:03:26 -07:00
dt-bindings Char/Misc/IIO driver updates for 6.15-rc1 2025-04-01 11:26:08 -07:00
hyperv
keys
kunit kunit: Spelling s/slowm/slow/ 2025-04-08 14:57:24 -06:00
kvm
linux net: ethtool: fix get_ts_stats() documentation 2025-04-14 16:43:27 -07:00
math-emu
media
memory
misc
net net: Add ->exit_rtnl() hook to struct pernet_operations. 2025-04-14 17:08:41 -07:00
pcmcia
ras
rdma
rv
scsi
soc soc: driver updates for 6.15, part 1 2025-03-27 09:05:55 -07:00
sound soundwire updates for 6.15 2025-04-01 12:43:13 -07:00
target
trace net: Retire DCCP socket. 2025-04-11 18:58:10 -07:00
uapi net: bridge: Add offload_fail_notification bopt 2025-04-14 15:56:42 -07:00
ufs
vdso
video
xen
Kbuild