Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: gamanakis@gmail.com, 'Jonathan Morton' <chromatix99@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] progress? dual-src/dsthost unfairness
Date: Thu, 14 Feb 2019 12:15:37 +0100	[thread overview]
Message-ID: <87a7iymxie.fsf@toke.dk> (raw)
In-Reply-To: <000001d4c3d3$54d46b30$fe7d4190$@gmail.com>

gamanakis@gmail.com writes:

>> On the contrary, even if a particular flow is sparse, the relevant
>> quantum calculation should involve the number of *bulk* flows
>> attached to the same host. Though there is possibly an argument for
>> making it the *sum* of the sparse and bulk flows, making it just the
>> sparse ones is wrong.
>
> I was about to point out that my assumption is obviously wrong.
> cake_enqueue() can still assign a packet to a bulk flow. Will try with
> the sum of the flows and report.

From a fairness perspective it doesn't really matter whether you count
the sparse flows or not. You use this for assigning a single quantum's
worth of initial deficit; any flow that actually needs fairness enforced
is going to be backlogged anyway, and the deficit increase in bulk state
is what matters for enforcing fairness.

What the initial quantum does is that it limits how big packet(s) a
sparse flow can send before it is demoted to bulk. There are certainly
some esoteric cases where this might matter (things like, can a DNS flow
get two small back-to-back packets through in one go); but this is going
to vary with the traffic conditions anyway, so I doubt it matters in
practice.

Given this, and given that the state tracking is already plenty
complicated, I'd suggest not counting per-host sparse flows at all, and
just using the bulk count. I'm pretty sure you'll get the same fairness
behaviour in this case.

Care to try that? :)

-Toke

  parent reply	other threads:[~2019-02-14 11:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-13 17:33 Kevin Darbyshire-Bryant
2019-02-13 18:31 ` George Amanakis
2019-02-13 18:41   ` Jonathan Morton
2019-02-13 19:26     ` gamanakis
2019-02-13 19:31       ` Jonathan Morton
2019-02-13 19:35         ` gamanakis
2019-02-13 20:55           ` George Amanakis
2019-02-14 11:15           ` Toke Høiland-Jørgensen [this message]
2019-02-14 18:02             ` George Amanakis
2019-02-14 18:14               ` Toke Høiland-Jørgensen
2019-02-14 18:45                 ` [Cake] Make the dual modes fairer George Amanakis
2019-02-14 19:07                 ` [Cake] progress? dual-src/dsthost unfairness Jonathan Morton
2019-02-14 20:27                   ` gamanakis
2019-02-14 21:22                     ` [Cake] Make the dual modes fairer George Amanakis
2019-02-14 21:59                       ` Toke Høiland-Jørgensen
2019-02-14 19:00               ` [Cake] progress? dual-src/dsthost unfairness Pete Heist

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/cake.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=87a7iymxie.fsf@toke.dk \
    --to=toke@redhat.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=gamanakis@gmail.com \
    /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