summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2021-11-27 03:02:02 +0100
committerJakub Kicinski <kuba@kernel.org>2021-11-27 03:03:36 +0100
commitd40ce48cb3a68b54be123a1f99157c5ac613e260 (patch)
treee337d5656b0d0e55f91ed055fd3383aa42032427 /drivers
parentbridge: use __set_bit in __br_vlan_set_default_pvid (diff)
parentaf_unix: Relax race in unix_autobind(). (diff)
downloadlinux-d40ce48cb3a68b54be123a1f99157c5ac613e260.tar.xz
linux-d40ce48cb3a68b54be123a1f99157c5ac613e260.zip
Merge branch 'af_unix-replace-unix_table_lock-with-per-hash-locks'
Kuniyuki Iwashima says: ==================== af_unix: Replace unix_table_lock with per-hash locks. The hash table of AF_UNIX sockets is protected by a single big lock, unix_table_lock. This series replaces it with small per-hash locks. 1st - 2nd : Misc refactoring 3rd - 8th : Separate BSD/abstract address logics 9th - 11th : Prep to save a hash in each socket 12th : Replace the big lock 13th : Speed up autobind() Note to maintainers: The 12th patch adds two kinds of Sparse warnings on patchwork: about unix_table_double_lock/unlock() We can avoid this by adding two apparent acquires/releases annotations, but there are the same kinds of warnings about unix_state_double_lock(). about unix_next_socket() and unix_seq_stop() (/proc/net/unix) This is because Sparse does not understand logic in unix_next_socket(), which leaves a spin lock held until it returns NULL. Also, tcp_seq_stop() causes a warning for the same reason. These warnings seem reasonable, but let me know if there is any better way. Please see [0] for details. [0]: https://lore.kernel.org/netdev/20211117001611.74123-1-kuniyu@amazon.co.jp/ ==================== Link: https://lore.kernel.org/r/20211124021431.48956-1-kuniyu@amazon.co.jp Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions