diff options
author | 2022-01-19 02:04:13 -0800 | |
---|---|---|
committer | 2022-01-19 08:14:40 -0800 | |
commit | 79eb15da3cd68f04b06edf73f9bbafa70a06871f (patch) | |
tree | e9ad4aa8aa2d54dcb07afe7c0b0fa3b807855d21 /tools/testing/selftests/bpf/prog_tests/autoload.c | |
parent | ipv4: avoid quadratic behavior in netns dismantle (diff) | |
download | linux-dev-79eb15da3cd68f04b06edf73f9bbafa70a06871f.tar.xz linux-dev-79eb15da3cd68f04b06edf73f9bbafa70a06871f.zip |
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 'tools/testing/selftests/bpf/prog_tests/autoload.c')
0 files changed, 0 insertions, 0 deletions