Commit d94ce9b2 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

ipv4: 16 slots in initial fib_info hash table

A small host typically needs ~10 fib_info structures, so create initial
hash table with 16 slots instead of only one. This removes potential
false sharing and reallocs/rehashes (1->2->4->8->16)
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0e71c55c
...@@ -803,7 +803,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg) ...@@ -803,7 +803,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg)
unsigned int bytes; unsigned int bytes;
if (!new_size) if (!new_size)
new_size = 1; new_size = 16;
bytes = new_size * sizeof(struct hlist_head *); bytes = new_size * sizeof(struct hlist_head *);
new_info_hash = fib_info_hash_alloc(bytes); new_info_hash = fib_info_hash_alloc(bytes);
new_laddrhash = fib_info_hash_alloc(bytes); new_laddrhash = fib_info_hash_alloc(bytes);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment