CoDel AQM discussions
 help / color / mirror / Atom feed
From: Andrew McGregor <andrewmcgr@gmail.com>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: Paolo Valente <paolo.valente@unimore.it>,
	"codel@lists.bufferbloat.net" <codel@lists.bufferbloat.net>,
	"cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>,
	bloat <bloat@lists.bufferbloat.net>,
	paulmck@linux.vnet.ibm.com, John Crispin <blogic@openwrt.org>
Subject: Re: [Codel] [Bloat] [Cerowrt-devel] FQ_Codel lwn draft article review
Date: Mon, 3 Dec 2012 10:47:29 +1300	[thread overview]
Message-ID: <344628E4-C813-4410-AB39-57C7081021B6@gmail.com> (raw)
In-Reply-To: <87vcckb0el.fsf@toke.dk>


On 3/12/2012, at 10:37 AM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:

> Eric Dumazet <eric.dumazet@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.

When a flow drains, it disappears from both lists (but is not garbage collected), and will come back on the 'new' or 'thin' list.  The code for this is in enqueue, where if the flow is not on either list it gets put on the tail of the 'new' list.

> 
> 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? :)

It's the implicit return to the 'new' list.

> 
> Thanks,
> 
> -Toke
> 
> -- 
> Toke Høiland-Jørgensen
> toke@toke.dk
> _______________________________________________
> Codel mailing list
> Codel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/codel


  reply	other threads:[~2012-12-02 21:47 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAA93jw5yFvrOyXu2s2DY3oK_0v3OaNfnL+1zTteJodfxtAAzcQ@mail.gmail.com>
2012-11-23  8:57 ` [Codel] " Dave Taht
2012-11-23 22:18   ` Paul E. McKenney
2012-11-24  0:07     ` Toke Høiland-Jørgensen
2012-11-24 16:19       ` Dave Taht
2012-11-24 16:36         ` [Codel] [Cerowrt-devel] " dpreed
2012-11-24 19:57         ` [Codel] " Andrew McGregor
2012-11-26 21:13         ` Rick Jones
2012-11-26 21:19           ` Dave Taht
2012-11-26 22:16         ` Toke Høiland-Jørgensen
2012-11-26 23:21           ` Toke Høiland-Jørgensen
2012-11-26 23:39             ` [Codel] [Cerowrt-devel] " dpreed
2012-11-26 23:58               ` Toke Høiland-Jørgensen
2012-11-26 17:20       ` [Codel] " Paul E. McKenney
2012-11-26 21:05       ` Rick Jones
2012-11-26 23:18         ` [Codel] [Bloat] " Rick Jones
2012-11-27 22:03     ` [Codel] [Cerowrt-devel] " Jim Gettys
2012-11-27 22:31       ` [Codel] [Bloat] " David Lang
2012-11-27 22:54         ` Paul E. McKenney
2012-11-27 23:15           ` Andrew McGregor
2012-11-28  0:51             ` Paul E. McKenney
2012-11-28 17:36             ` Paul E. McKenney
2012-11-28 14:06         ` [Codel] [Cerowrt-devel] [Bloat] " Michael Richardson
2012-11-27 22:49       ` [Codel] [Cerowrt-devel] " Paul E. McKenney
2012-11-27 23:53         ` Greg White
2012-11-28  0:27           ` Paul E. McKenney
2012-11-28  3:43             ` Kathleen Nichols
2012-11-28  4:38               ` Paul E. McKenney
2012-11-28 16:01                 ` Paul E. McKenney
2012-11-28 16:16                   ` Jonathan Morton
2012-11-28 17:44                     ` Paul E. McKenney
2012-11-28 18:37                       ` [Codel] [Bloat] " Michael Richardson
2012-11-28 18:51                         ` Eric Dumazet
2012-11-28 21:44                           ` Michael Richardson
2012-11-28 19:00                       ` Eric Dumazet
2012-12-02 21:37                         ` Toke Høiland-Jørgensen
2012-12-02 21:47                           ` Andrew McGregor [this message]
2012-12-03  8:04                             ` Dave Taht
2012-12-02 22:07                           ` Eric Dumazet
2012-12-02 22:15                             ` Toke Høiland-Jørgensen
2012-12-02 22:30                               ` Eric Dumazet
2012-12-02 22:51                                 ` Toke Høiland-Jørgensen
2012-11-28 17:20       ` [Codel] " Paul E. McKenney
2012-12-02 23:06         ` Paul E. McKenney
2012-12-03 11:24           ` Toke Høiland-Jørgensen
2012-12-03 11:31             ` Dave Taht
2012-12-03 12:54               ` Toke Høiland-Jørgensen
2012-12-03 14:58                 ` Paul E. McKenney
2012-12-03 15:19                   ` Toke Høiland-Jørgensen
2012-12-03 15:49                   ` Eric Dumazet
2012-12-03 15:03               ` Paul E. McKenney
2012-12-03 15:58               ` David Woodhouse
2012-12-04  3:13                 ` Dan Siemon
2012-12-05  0:01                   ` Sebastian Moeller
     [not found]                   ` <1354613026.72238.YahooMailNeo@web126202.mail.ne1.yahoo.com>
2012-12-05  3:41                     ` [Codel] [Bloat] " Dan Siemon
     [not found]                       ` <1354739624.4431.YahooMailNeo@web126205.mail.ne1.yahoo.com>
2012-12-06  4:12                         ` Dan Siemon
2012-11-30  1:09       ` Dan Siemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/codel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=344628E4-C813-4410-AB39-57C7081021B6@gmail.com \
    --to=andrewmcgr@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=blogic@openwrt.org \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=codel@lists.bufferbloat.net \
    --cc=paolo.valente@unimore.it \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=toke@toke.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox