diff options
author | Eric Dumazet <edumazet@google.com> | 2012-11-30 05:08:52 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-01 11:36:37 -0500 |
commit | fd90b29d757827ab12d6669292612308ec249532 (patch) | |
tree | ba0a7cbd8520e3e7d4a45ff91e9e1b5ea4850810 /net | |
parent | abe303dbc22bd16cde6f1a62fc25f63cc254caf7 (diff) |
tcp: change default tcp hash size
As time passed, available memory increased faster than number of
concurrent tcp sockets.
As a result, a machine with 4GB of ram gets a hash table
with 524288 slots, using 8388608 bytes of memory.
Lets change that by a 16x factor (one slot for 128 KB of ram)
Even if a small machine needs a _lot_ of sockets, tcp lookups are now
very efficient, using one cache line per socket.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index e6eace1c2bdb..1aca02c9911e 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -3590,8 +3590,7 @@ void __init tcp_init(void) | |||
3590 | alloc_large_system_hash("TCP established", | 3590 | alloc_large_system_hash("TCP established", |
3591 | sizeof(struct inet_ehash_bucket), | 3591 | sizeof(struct inet_ehash_bucket), |
3592 | thash_entries, | 3592 | thash_entries, |
3593 | (totalram_pages >= 128 * 1024) ? | 3593 | 17, /* one slot per 128 KB of memory */ |
3594 | 13 : 15, | ||
3595 | 0, | 3594 | 0, |
3596 | NULL, | 3595 | NULL, |
3597 | &tcp_hashinfo.ehash_mask, | 3596 | &tcp_hashinfo.ehash_mask, |
@@ -3607,8 +3606,7 @@ void __init tcp_init(void) | |||
3607 | alloc_large_system_hash("TCP bind", | 3606 | alloc_large_system_hash("TCP bind", |
3608 | sizeof(struct inet_bind_hashbucket), | 3607 | sizeof(struct inet_bind_hashbucket), |
3609 | tcp_hashinfo.ehash_mask + 1, | 3608 | tcp_hashinfo.ehash_mask + 1, |
3610 | (totalram_pages >= 128 * 1024) ? | 3609 | 17, /* one slot per 128 KB of memory */ |
3611 | 13 : 15, | ||
3612 | 0, | 3610 | 0, |
3613 | &tcp_hashinfo.bhash_size, | 3611 | &tcp_hashinfo.bhash_size, |
3614 | NULL, | 3612 | NULL, |