[Cerowrt-devel] [Bloat] [Codel] FQ_Codel lwn draft article review
Dave Taht
dave.taht at gmail.com
Mon Dec 3 03:04:35 EST 2012
On Sun, Dec 2, 2012 at 10:47 PM, Andrew McGregor <andrewmcgr at gmail.com> wrote:
>
> On 3/12/2012, at 10:37 AM, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
>
>> 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
>> "life".
>
> 'new' is what I was calling 'thin', and 'old' is the 'thick' list.
The phrasing that I use for this stuff is "sparse" rather than "thin",
if that helps any.
TCP mice are VERY sparse as they are a function of RTT, and thus most
web flows on a home router end up staying in the new flow queue.
--
Dave Täht
Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
More information about the Cerowrt-devel
mailing list