From: Patrick Schaaf <bof@bof.de>
To: jamal <hadi@cyberus.ca>
Cc: Patrick Schaaf <bof@bof.de>, Andi Kleen <ak@suse.de>,
Rusty Russell <rusty@rustcorp.com.au>,
netfilter-devel@lists.netfilter.org, netdev@oss.sgi.com,
netfilter-core@lists.netfilter.org
Subject: Re: TODO list before feature freeze
Date: Tue, 30 Jul 2002 14:27:58 +0200 [thread overview]
Message-ID: <20020730142758.A492@oknodo.bof.de> (raw)
In-Reply-To: <Pine.GSO.4.30.0207300750240.15727-100000@shell.cyberus.ca>; from hadi@cyberus.ca on Tue, Jul 30, 2002 at 07:58:42AM -0400
> What i have seen and reported by many people (someone seems to have gone
> one step further and documented numbers, but cant find his email right
> now). Take Linux as a router, it routes at x% of wire rate. Load
> conntracking and watch it go down another 25% at least.
Unfortunately, this is insufficient information to pin down what was
happening. As Andi Kleen mentioned, a simple kernel profile from such
a test would be a good start.
Most likely things leading to such a result, in no specific suborder:
- skb linearization
- always-defragment
- ip_conntrack_lock contention
- per-packet timer management
I'm not personally interested in line rate routing, but I look forward
to further results from such setups. I concentrate on real server work-
loads, because that's where my job is.
> I think hashing is one of the problems. What performance improvemet are
> you seeing? (couldnt tell from looking at your data)
We found that the autosizing tends to make the bucket count a multiple
of two, and we found the currently used hash function does not like
that, resulting in longer average bucket list lengths than neccessary.
The crc32 hashes, and suitable modified abcd hashes, don't suffer from
this deficiency, and they are almost identical to random (a pseudohash
I used to depict the optimum).
However, the "badness" of the current hash, given my datasets, results
in less than one additional list element, on average. So we could save
one memory roundtrip. Given that with my netfilter hook statistics patch,
I see >3000 cycles (1Ghz processor) spent in ip_conntrack_in - about
10 memory round-trips - I don't think that you could measure the hash
function improvement, except for artificial test cases.
We can improve here, but not much. Changing the hash function is mostly
interesting to make hash bucket length attacks more unlikely. The abcd
hash family, with boottime chosen multipliers, could be of use here.
best regards
Patrick
next prev parent reply other threads:[~2002-07-30 12:27 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-18 9:34 TODO list before feature freeze Rusty Russell
2002-07-19 7:39 ` Balazs Scheidler
2002-07-19 17:43 ` Michael Richardson
2002-07-29 10:57 ` jamal
2002-07-29 11:12 ` Andi Kleen
2002-07-29 11:23 ` jamal
2002-07-29 11:56 ` Andi Kleen
2002-07-29 15:40 ` Martin Josefsson
2002-07-29 16:15 ` Patrick Schaaf
2002-07-29 17:12 ` Martin Josefsson
2002-07-29 17:35 ` Nivedita Singhvi
2002-07-29 22:43 ` Martin Josefsson
2002-07-29 16:26 ` Patrick Schaaf
2002-07-29 16:31 ` Andi Kleen
2002-07-29 16:42 ` Patrick Schaaf
2002-07-29 16:45 ` Patrick Schaaf
2002-07-30 11:58 ` jamal
2002-07-30 12:27 ` Patrick Schaaf [this message]
2002-07-30 12:29 ` jamal
2002-07-30 13:06 ` Patrick Schaaf
2002-07-30 13:42 ` jamal
2002-07-30 13:08 ` Martin Josefsson
2002-07-30 15:54 ` Filip Sneppe (Cronos)
2002-07-29 15:25 ` Michael Richardson
2002-07-29 15:52 ` Patrick Schaaf
2002-07-29 20:51 ` Andi Kleen
2002-07-30 7:26 ` Patrick Schaaf
2002-07-29 22:14 ` Rusty Russell
2002-07-30 12:04 ` jamal
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=20020730142758.A492@oknodo.bof.de \
--to=bof@bof.de \
--cc=ak@suse.de \
--cc=hadi@cyberus.ca \
--cc=netdev@oss.sgi.com \
--cc=netfilter-core@lists.netfilter.org \
--cc=netfilter-devel@lists.netfilter.org \
--cc=rusty@rustcorp.com.au \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).