diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-09-19 21:38:12 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-09-26 17:21:17 -0700 |
commit | f535c2e115f90cf18408d91f11f7c5585bc38ef0 (patch) | |
tree | ea78ac4db3774fec1d39ff20eeff393dd9e4897d /net/unix | |
parent | a89d316f2bdf5df8f9a109d32f0e7b0940041e7f (diff) |
tcp: fix three tcp sysctls tuning
[ Upstream commit c5ed63d66f24fd4f7089b5a6e087b0ce7202aa8e ]
As discovered by Anton Blanchard, current code to autotune
tcp_death_row.sysctl_max_tw_buckets, sysctl_tcp_max_orphans and
sysctl_max_syn_backlog makes little sense.
The bigger a page is, the less tcp_max_orphans is : 4096 on a 512GB
machine in Anton's case.
(tcp_hashinfo.bhash_size * sizeof(struct inet_bind_hashbucket))
is much bigger if spinlock debugging is on. Its wrong to select bigger
limits in this case (where kernel structures are also bigger)
bhash_size max is 65536, and we get this value even for small machines.
A better ground is to use size of ehash table, this also makes code
shorter and more obvious.
Based on a patch from Anton, and another from David.
Reported-and-tested-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net/unix')
0 files changed, 0 insertions, 0 deletions