summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2022-01-19 13:04:13 +0300
committerJakub Kicinski <kuba@kernel.org>2022-01-19 19:14:40 +0300
commit79eb15da3cd68f04b06edf73f9bbafa70a06871f (patch)
treee9ad4aa8aa2d54dcb07afe7c0b0fa3b807855d21 /arch
parentd07418afea8f1d9896aaf9dc5ae47ac4f45b220c (diff)
downloadlinux-79eb15da3cd68f04b06edf73f9bbafa70a06871f.tar.xz
ipv4: add net_hash_mix() dispersion to fib_info_laddrhash keys
net/ipv4/fib_semantics.c uses a hash table (fib_info_laddrhash) in which fib_sync_down_addr() can locate fib_info based on IPv4 local address. This hash table is resized based on total number of hashed fib_info, but the hash function is only using the local address. For hosts having many active network namespaces, all fib_info for loopback devices (IPv4 address 127.0.0.1) are hashed into a single bucket, making netns dismantles very slow. 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 'arch')
0 files changed, 0 insertions, 0 deletions