Re: dst cache overflow and network freeze

kuznet@ms2.inr.ac.ru
Tue, 21 Dec 1999 17:19:56 +0300 (MSK)


Hello!

> > This points to a bug.

First, check your ifconfig. Is loopabck enabled?

Second, apply patch for the only known leak. It is appended.

If nothing of above helps, it is leak. Then:

( netstat -t -n -o; cat /proc/slabinfo; cat /proc/net/netstat; \
cat /proc/net/rt_cache ) | gzip -9c | \
uuencode dump.gz | mail -s "dst cache ovfl" kuznet@ms2.inr.ac.ru

[ Andi, just for information. Tuning dst cache expiration
parameters is pretty useless. Algorithm is adaptive and enough clever
to work in any reasonable curcumstances. Actually, these
parameters are useful to tune mainly to optimize hash table
depth. Even on loaded web servers tuning them is not recommended:
as rule they suffer of tcp_fin_timeout=180sec, which is useless
for http and eats lots of stale sockets. Essentially, dst cache overflow
means either serious host configuration or real leak.
]

Alexey

diff -ur --new-file ../2.3.33/linux/net/ipv4/route.c linux/net/ipv4/route.c
--- ../2.3.33/linux/net/ipv4/route.c Fri Nov 19 22:33:29 1999
+++ linux/net/ipv4/route.c Tue Dec 14 22:08:25 1999
@@ -736,12 +810,12 @@
goto do_next;
}

- rt_del(hash, rt);
+ rt_del(hash, rth);
if (!rt_intern_hash(hash, rt, &rt))
ip_rt_put(rt);
goto do_next;
}
- read_unlock(&rt_hash_lock);
+ read_unlock(&rt_hash_lock);
do_next:
;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu