diff options
author | Eric Dumazet <edumazet@google.com> | 2012-10-21 20:12:09 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-10-22 18:29:06 (GMT) |
commit | d94ce9b283736a876b2e6dec665c68e5e8b5d55e (patch) | |
tree | 77762849ae55afdd9ba6a9fbbf0855a68f7c6372 /net/ipv4/fib_semantics.c | |
parent | 0e71c55c9e3eb32de08e17152ec739582afc9400 (diff) | |
download | linux-d94ce9b283736a876b2e6dec665c68e5e8b5d55e.tar.xz |
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: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_semantics.c')
-rw-r--r-- | net/ipv4/fib_semantics.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 71b125c..4797a80 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -803,7 +803,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg) unsigned int bytes; if (!new_size) - new_size = 1; + new_size = 16; bytes = new_size * sizeof(struct hlist_head *); new_info_hash = fib_info_hash_alloc(bytes); new_laddrhash = fib_info_hash_alloc(bytes); |