lkml.org 
[lkml]   [2002]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: ip_conntrack_hash() problem
On Wed, Sep 04, 2002 at 02:33:41PM +0200, Martin Wilck wrote:
> Hi,
>
> I posted a patch to netfilter-devel a week ago that fixes a severe
> performance problem with ip_conntrack_hash() (see below).
> Harald rejected it (sort of), telling me I should have read past threads
> about the hash function first.

no, I didn't reject it. I just said you should contribute your work
with the work of the other people, so we end up having one
conntrack-optimization patch.

> Although it certainly isn't the "optimal" hash function for
> ip_conntrack, it fixes a problem that leads to extremely unbalanced
> hashing in some situations, in particular in a simple
> client<->router<->webserver scenario.

It is an artificial case, in which you have a single client opening
thousands of connections to a single port on a singles server. Please
correct me, if I misunderstood.

> This happens if the hash size is a power of 2, which is the default on
> most newer machines.

yes, this is the thing we should change right now. All other
optimizations should be sorted out as a whole.

> The fix is rather trivial (mainly the port numbers are accounted for
> outside the ntohl() function), and therefore I'd like to ask again that
> it be applied.

Would you be satisfied with making the default hashsize no longer a
power of two?

> Unless I am mistaken, the past discussions were mainly concerned with
> fine-tuning of the hash function, which is a topic my patch doesn't
> address, and can easily be done on top of it.

no, exactly the 'power-of-two' has been discussed as well.

> Regards,
> Martin

--
Live long and prosper
- Harald Welte / laforge@gnumonks.org http://www.gnumonks.org/
============================================================================
GCS/E/IT d- s-: a-- C+++ UL++++$ P+++ L++++$ E--- W- N++ o? K- w--- O- M-
V-- PS+ PE-- Y+ PGP++ t++ 5-- !X !R tv-- b+++ DI? !D G+ e* h+ r% y+(*)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.142 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site