[Bloat] Exploring the potential of codel, fq_codel, and qfq

Eric Dumazet eric.dumazet at gmail.com
Wed May 16 05:37:57 EDT 2012


On Wed, 2012-05-16 at 12:31 +0300, Jonathan Morton wrote:
> There are two goals here. One: provide real feedback to TCPs so that
> they know when the link is full and thus don't also fill up the buffer
> constantly. Two: prevent flows from unduly interfering with each
> other, so they don't have to fill the buffer just to be sure of good
> throughput. 
> 
> What you seem to be saying is that you have a queue full of
> unresponsive flows that aren't being dropped because they have ECN
> support and are being marked instead. With FQ, that doesn't matter
> because other flows can still get through with low latency, and in
> fq_codel they are treated separately for mark/drop decision purposes.
> And if the queue really does fill up physically, codel already drops
> packets at head regardless of ECN capability. 

It matters because :

1) We setup high limit for codel so "head drop" at enqueue time is a
last resort thing.

2) If you have ECN blackhole _after_ you, flow can be non responsive not
because it doesnt want to, only because of the blackhole. Detecting a
too long delay in this flow queue and reverting to drops instead of
marks can help to recover from ECN blackhole.






More information about the Bloat mailing list