[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1354319937.20109.285.camel@edumazet-glaptop>
Date: Fri, 30 Nov 2012 15:58:57 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>
Cc: David Miller <davem@...emloft.net>, fw@...len.de,
netdev@...r.kernel.org, pablo@...filter.org, tgraf@...g.ch,
amwang@...hat.com, kaber@...sh.net, paulmck@...ux.vnet.ibm.com,
herbert@...dor.hengli.com.au
Subject: Re: [net-next PATCH V2 1/9] net: frag evictor, avoid killing warm
frag queues
On Sat, 2012-12-01 at 00:23 +0100, Jesper Dangaard Brouer wrote:
> I'm just a little puzzled (and perhaps annoyed) that you don't agree
> that the evictor code is a problem, given the tests I have provided and
> the discussion we have had.
>
> On this mailing list we challenge and give each other a hard time on the
> technical side, as it should be. This is nothing personal -- I don't
> take it personal, I just believe this patch is important and makes a
> difference.
>
>
> I want us to discuss the evictor code as such. Not trying to come up
> with, workarounds avoiding the evictor code.
>
> The dropping choice in the evictor code is not sound.
>
> We are dealing with assembling fragments. If a single fragment is lost,
> the complete fragment is lost. The evictor code, will kill off one or
> several fragments, knowing that this will invalidate the remaining
> fragments. Under high load, the LRU list has no effect, and cannot
> guide the drop choice. The result is dropping on an "even"/fair basis,
> which will basically kill all fragments, letting none complete. Just as
> my tests indicate, it severely affects performance with nearly no
> throughput as a result.
Give me an alternative, I'll tell you how an attacker can hurt you,
knowing the strategy you use.
Keeping around old frags is not good. After a burst of frags, you'll be
unable to recover until they are purged.
Purging old frags is the most natural way to evict incomplete messages.
(If your mem limits are high enough to absorb the expected workload plus
a fair amount of extra space, but your results are biased with wrong
thresholds)
Or else, an attacker only has to send incomplete messages, and your host
will fill its table and refuse your messages.
--
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