tmp_suning_uos_patched/net
Dave Johnson 1344a41637 [IPV4]: Fix negative timer loop with lots of ipv4 peers.
From: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>

Found this bug while doing some scaling testing that created 500K inet
peers.

peer_check_expire() in net/ipv4/inetpeer.c isn't using inet_peer_gc_mintime
correctly and will end up creating an expire timer with less than the
minimum duration, and even zero/negative if enough active peers are
present.

If >65K peers, the timer will be less than inet_peer_gc_mintime, and with
>70K peers, the timer duration will reach zero and go negative.

The timer handler will continue to schedule another zero/negative timer in
a loop until peers can be aged.  This can continue for at least a few
minutes or even longer if the peers remain active due to arriving packets
while the loop is occurring.

Bug is present in both 2.4 and 2.6.  Same patch will apply to both just
fine.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-23 10:10:15 -07:00
..
802
8021q
appletalk
atm
ax25
bluetooth
bridge
core
decnet
econet
ethernet
ipv4 [IPV4]: Fix negative timer loop with lots of ipv4 peers. 2005-08-23 10:10:15 -07:00
ipv6 [IPCOMP]: Fix false smp_processor_id warning 2005-08-18 14:36:59 -07:00
ipx
irda
key
lapb
llc
netlink
netrom
packet
rose
rxrpc
sched
sctp
sunrpc [RPC]: Kill bogus kmap in krb5 2005-08-23 10:09:53 -07:00
unix
wanrouter
x25
xfrm
compat.c
Kconfig
Makefile
nonet.c
socket.c
sysctl_net.c
TUNABLE