[Codel] [Bloat] [Cerowrt-devel] FQ_Codel lwn draft article review

Toke Høiland-Jørgensen toke at toke.dk
Sun Dec 2 16:37:54 EST 2012

Eric Dumazet <eric.dumazet at gmail.com> writes:

> This can help if you really want to avoid a thick flow sharing a thin
> flow bucket, but given that all packets are going eventually into the
> Internet (or equivalent crowded network), its not really a clear win.

I've been trying to grok the fq_codel code by reading through it while
following the discussion in the article, and I'm having a bit of trouble
squaring the thin/thick (or "hog"/"non-hog") flow designation of the
article with the code. As far as I can tell from the code, there are two
lists, called new_flows and old_flows; and a flow starts out as 'new'
and stays that way until it has sent a quantum of bytes or codel fails
to dequeue a packet from it, whereupon it is moved to the end of the
old_flows list. It then stays in the old_flows list for the rest of its

Now, talking about thin flows being distinguished from thick ones, it
seems to me that if a flow sends packets at a low enough rate it can in
principle stay 'thin' indefinitely. So I'm assuming I've missed
something in the code that allows a flow to stay in the new_flows list
if it is sufficiently thin. Could someone please point out to me what
I'm missing? :)



Toke Høiland-Jørgensen
toke at toke.dk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <https://lists.bufferbloat.net/pipermail/codel/attachments/20121202/483f743b/attachment.sig>

More information about the Codel mailing list