net: increase sk_[max_]ack_backlog
authorEric Dumazet <edumazet@google.com>
Fri, 20 Mar 2015 02:04:21 +0000 (19:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2015 16:40:25 +0000 (12:40 -0400)
commitbecb74f0acca19b5abfcb24dc602530f3deea66a
tree1c688749f3b5570f62245a7bb317c94f4af43a80
parentfa76ce7328b289b6edd476e24eb52fd634261720
net: increase sk_[max_]ack_backlog

sk_ack_backlog & sk_max_ack_backlog were 16bit fields, meaning
listen() backlog was limited to 65535.

It is time to increase the width to allow much bigger backlog,
if admins change /proc/sys/net/core/somaxconn &
/proc/sys/net/ipv4/tcp_max_syn_backlog default values.

Tested:

echo 5000000 >/proc/sys/net/core/somaxconn
echo 5000000 >/proc/sys/net/ipv4/tcp_max_syn_backlog

Ran a SYNFLOOD test against a listener using listen(fd, 5000000)

myhost~# grep request_sock_TCP /proc/slabinfo
request_sock_TCP  4185642 4411940    304   13    1 : tunables   54   27    8 : slabdata 339380 339380      0

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h
net/core/sysctl_net_core.c