[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080828.005741.97382742.davem@davemloft.net>
Date: Thu, 28 Aug 2008 00:57:41 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dada1@...mosbay.com
Cc: shemminger@...tta.com, andi@...stfloor.org, davej@...hat.com,
netdev@...r.kernel.org, j.w.r.degoede@....nl
Subject: Re: cat /proc/net/tcp takes 0.5 seconds on x86_64
From: Eric Dumazet <dada1@...mosbay.com>
Date: Thu, 28 Aug 2008 09:13:13 +0200
> David Miller a écrit :
> > We could not define a reasonable way to trigger hash table growth.
> > GC attempts to keep a resident set of entries in the cache, and these
> > heuristics are guided by the table size itself. So if you grow the
> > table too aggressively this never has a chance to work.
>
> Maybe because of overcomplicated algos in net/ipv4/route.c, and
> mixing "number of entries in cache", and "hash table size" things...
But it is exactly what we want to use to create equilabrium
when the size is large enough.
> Fact is that nobody wants to have eight elements per hash bucket,
> especially in case of DDOS.
Of this there is no doubt. But also, nobody wants to use 1GB hash
table simply because of poorly implemented interactions between GC and
hash table growth :-)
> > You want to respond dynamically to traffic in a reasonable amount of
> > time, but you don't want to get tricked by bursts of RCU effects.
> >
>
> Right, but we also use process context processing instead of plain
> timer soft irq things, so at least RCU effects should now be OK.
I meant to say "bursts or RCU effects".
> > We never came up with an algorithm that addresses all of these
> > issues.
>
> Could you give us the pointer to your previous work ?
It was a series of patches I started posting in August 2006:
http://marc.info/?l=linux-netdev&m=115510979129323&w=2
There was a bunch of discussion, the locking and synchronization
were worked out but the resize logic was not.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists