summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2022-02-08 07:50:30 +0300
committerJakub Kicinski <kuba@kernel.org>2022-02-09 07:41:32 +0300
commite66d117222047ea90f92e065f929bc0e0eec3647 (patch)
treee3651d07fa5a2884aed5edd78bc2a705c43bff9d /init
parent8805d13ff1b2bef6a7bb8a005d2441763286dd7a (diff)
downloadlinux-e66d117222047ea90f92e065f929bc0e0eec3647.tar.xz
ipv6/addrconf: switch to per netns inet6_addr_lst hash table
IPv6 does not scale very well with the number of IPv6 addresses. It uses a global (shared by all netns) hash table with 256 buckets. Some functions like addrconf_verify_rtnl() and addrconf_ifdown() have to iterate all addresses in the hash table. I have seen addrconf_verify_rtnl() holding the cpu for 10ms or more. Switch to the per netns hashtable (and spinlock) added in prior patches. This considerably speeds up netns dismantle times on hosts with thousands of netns. This also has an impact on regular (fast path) IPv6 processing. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions