All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balazs Scheidler <bazsi@balabit.hu>
To: netfilter-devel@lists.netfilter.org
Subject: timeout storms make the box unresponsive
Date: Fri, 25 Jul 2003 20:56:44 +0200	[thread overview]
Message-ID: <20030725185644.GA7625@balabit.hu> (raw)

Hi,

while trying to reproduce the oops in replace_in_hashes, I compiled a kernel
with netfilter debug enabled. From time-to-time the box simply freezes for a
minute or two, and then continues working as if nothing had happened.

I understand that a kernel with assertions enabled will be slower, but I did
not see this behaviour with the previous kernel and the same load. I've
pressed SysRq+ShowPC and fed that through a ksymoops to see what's going on.
It turned out that ip_nat_cleanup_conntrack() was working (or waiting for
ip_nat_lock).

My test setup is an SMP box (dual Athlon MP 1800+), and I'm downloading
files from a custom webserver using 7 client PCs, with apachebench, each
starting 500 concurrent threads. As there are many connections (each HTTP
session downloads 1k data without keepalive) many connections end at the
same time, thus many of them exit the TIME_WAIT state at the same time. (I
have about 100k entries in /proc/net/ip_conntrack) 

When the box is not frozen, it is otherwise completely responsive, and is
processing 30k interrupts/sec happily.

Maybe we should consider removing expired entries from the NAT hash at a
single go, instead of the current lock-remove-unlock for each entry. Or
create a cleanup thread which cleans up conntrack entries regularly, but not
in the timer interrupt context.

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1

             reply	other threads:[~2003-07-25 18:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-25 18:56 Balazs Scheidler [this message]
2003-07-25 20:21 ` timeout storms make the box unresponsive Harald Welte
2003-07-26 22:39   ` Jozsef Kadlecsik
2003-07-27 10:34     ` Patrick Schaaf
2003-08-11 11:02       ` Jozsef Kadlecsik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030725185644.GA7625@balabit.hu \
    --to=bazsi@balabit.hu \
    --cc=netfilter-devel@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.