]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'af_unix-per-netns-socket-hash'
authorDavid S. Miller <davem@davemloft.net>
Wed, 22 Jun 2022 11:59:43 +0000 (12:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Jun 2022 11:59:43 +0000 (12:59 +0100)
commit4a059b19482cbfdc996bd9b9d0ee064eed6e3d9f
treed1eec229ee1d66c1a9265f4fc411062b5f9f749b
parent67cb5c7e830905ce69b5df49a8b87a57743ebc6a
parenta2ee413545bb8948a79af15be4e5816aa95e6563
Merge branch 'af_unix-per-netns-socket-hash'

Kuniyuki Iwashima says:

====================
af_unix: Introduce per-netns socket hash table.

This series replaces unix_socket_table with a per-netns hash table and
reduces lock contention and time on iterating over the list.

Note the 3rd-6th patches can be a single patch, but for ease of review,
they are split into small changes without breakage.

Changes:
  v3:
    6th:
      * Remove unix_table_locks from comments.
      * Remove missed spin_unlock(&unix_table_locks) in
        unix_lookup_by_ino() (kernel test robot)

  v2: https://lore.kernel.org/netdev/20220620185151.65294-1-kuniyu@amazon.com/
    3rd:
      * Update changelog
      * Remove holes from per-netns hash table structure
      * Use kvmalloc_array() instead of kmalloc() (Eric Dumazet)
      * Remove unnecessary parts in af_unix_init() (Eric Dumazet)
      * Move `err_sysctl` label into ifdef block (kernel test robot)
      * Remove struct netns_unix from struct net if CONFIG_UNIX is disabled
    4th:
      * Use spin_lock_nested() (kernel test robot)

  v1: https://lore.kernel.org/netdev/20220616234714.4291-1-kuniyu@amazon.com/
====================

Signed-off-by: David S. Miller <davem@davemloft.net>