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)
commit6dd4142fb5a9d253301132061657b5108d59f673
treed1eec229ee1d66c1a9265f4fc411062b5f9f749b
parentffd3018bf7764f139e4378f303e6a97cf6b3687c
parent2f7ca90a0188b57a54d3b1159eb7874427a7e07a
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>