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:3.133 / U:0.324 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site