]> Git Repo - linux.git/commit
Merge branch 'inet_diag-remove-three-mutexes-in-diag-dumps'
authorPaolo Abeni <[email protected]>
Tue, 23 Jan 2024 14:18:42 +0000 (15:18 +0100)
committerPaolo Abeni <[email protected]>
Tue, 23 Jan 2024 14:18:43 +0000 (15:18 +0100)
commit2121c43f88f593eea51d483bedd638cb0623c7e2
tree9fda1455c3639361d11162d535305baba2f05adf
parent736b5545d39ca59d4332a60e56cc8a1a5e264a8e
parent622a08e8de9f9ad576fd56e3a2e97a84370a8100
Merge branch 'inet_diag-remove-three-mutexes-in-diag-dumps'

Eric Dumazet says:

====================
inet_diag: remove three mutexes in diag dumps

Surprisingly, inet_diag operations are serialized over a stack
of three mutexes, giving legacy /proc based files an unfair
advantage on modern hosts.

This series removes all of them, making inet_diag operations
(eg iproute2/ss) fully parallel.

1-2) Two first patches are adding data-race annotations
     and can be backported to stable kernels.

3-4) inet_diag_table_mutex can be replaced with RCU protection,
     if we add corresponding protection against module unload.

5-7) sock_diag_table_mutex can be replaced with RCU protection,
     if we add corresponding protection against module unload.

 8)  sock_diag_mutex is removed, as the old bug it was
     working around has been fixed more elegantly.

 9)  inet_diag_dump_icsk() can skip over empty buckets to reduce
     spinlock contention.
====================

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
This page took 0.0553 seconds and 4 git commands to generate.