Skywind
2005-06-06T14:10:26Z

Is kernel 2.6.11 adjust tcp_max_syn_backlog incorrectly?

Test Backgroud:
CPU: Intel P4
Mem: 512Mb
The /etc/sysctl.conf and other haven't touch anything.

I found a strange question: when I use kernel 2.6.11, the value of
/proc/sys/net/ipv4/tcp_max_syn_backlog is 256,
while kernel 2.6.10 on same computer the value is 1024.

So I check the net/ipv4/[tcp.c, tcp_ipv4.c] and know when Mem >= 256Mb
the tcp_max_syn_backlog will be set to 1024,
but it is 256 in my test above.

Some other variables that should be adjust all together with
tcp_max_syn_backlog are:
ip_local_port_range
tcp_max_tw_buckets
tcp_max_orphans
But they don't be adjust to correctly value(refer to net/ipv4/tcp.c) all.

It seems that kernel don't adjust these value automatic, is this a bug?

I guess the mechanism of tcp.c in 2.6.11 have some changes(between
2.6.10), and it conduce to this result,
Is this guess correctly?

Xu Gang (Skywind)
2005/06/06