From: Eric Dumazet <eric.dumazet@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: codel@lists.bufferbloat.net
Subject: Re: [Codel] hardware multiqueue in fq_codel?
Date: Thu, 11 Jul 2013 11:54:08 -0700 [thread overview]
Message-ID: <1373568848.4600.66.camel@edumazet-glaptop> (raw)
In-Reply-To: <CAA93jw6rd1G2Q4pmfAB5GPuwfqCbVPDw6njCaceszD9q5Avz_A@mail.gmail.com>
On Thu, 2013-07-11 at 11:06 -0700, Dave Taht wrote:
> Gotcha. So what I actually did (felix did, in openwrt, actually) was
> just make fq_codel the default qdisc to avoid having to inspect things
> to set the number of queues in mq and mqprio. I see, for example, that
> mq is the default for tg3...
>
> http://snapon.lab.bufferbloat.net/~cero2/deb/patches/0003-Use-FQ_codel-by-default.patch
>
> I just added it to htb and hfsc too:
>
> http://snapon.lab.bufferbloat.net/~cero2/deb/patches/0008-Make-fq_codel-the-default-qdisc-for-htb-and-hfsc.patch
>
> There's a patch to obsolete pfifo_fast entirely in openwrt, which is a
> tad premature.
>
> A remaining concern is to what this affects:
>
> A) people that expect ifconfig X txqueuelen Y to do anything will be
> misled. Perhaps this could be fixed by having the fq_codel default
> limit be txqueuelen rather than the default (and overlarge) limit of
> 10k, but as tons of people are supplying oddball txqueuelens, I tend
> to think just ignoring txqueuelen going forward is more the right
> thing.
>
> Do you actually get close to 10k packets outstanding in 10GigE under
> any sane circumstances?
10GigE can send 10.000.000 packets per second.
10k is only 1ms of buffering, which is pretty low considering the cpu
able to restart a queue might be blocked ~10 ms in a softirq handler.
Whole point of codel is that number of packets in the queue is
irrelevant. Only sojourn time is.
Now if your host has memory concerns, that's a separate issue, and you
can adjust the qdisc limit, or add a callback from mm to be able to
shrink queue in case of memory pressure, if you deal with non elastic
flows.
>
> B) people that expect pfifo_fast semantics, for which substituting
> fq_codel behaves oddly in two ways -
>
> 1) if you are explicitly setting skb->priority for the default
> pfifo_fast 3 bands and expecting a result, nothing happens - but in
> the general case, people setting skb->priority are trying to get
> better latency in the first place, and I really don't think almost
> anybody will notice.
>
> 2) if you are using a filter on pfifo_fast that expects 3 bands, and
> end up using fq_codel by default anyway we get DRR-like behavior over
> codel rather than strict prioritization and lose fq_codel's full
> benefits... which is still a win IMHO. I am not fond of being able to
> starve the other two bands....
>
> 3) trying to explicitly set pfifo_fast via tc doesn't work with this patch.
>
> 4) ECN processing is enabled by default (but off by default in sysctl)
There is no 'one solution fits every needs'.
codel is _not_ a replacement of pfifo_fast, its a replacement for pfifo.
If you want to replace pfifo_fast, you want PRIO + 3 codel, because
pfifo_fast is really PRIO + 3 pfifo.
next prev parent reply other threads:[~2013-07-11 18:54 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-11 17:09 Dave Taht
2013-07-11 17:44 ` Eric Dumazet
2013-07-11 18:06 ` Dave Taht
2013-07-11 18:54 ` Eric Dumazet [this message]
2013-07-11 21:18 ` Dave Taht
2013-07-12 0:06 ` Eric Dumazet
2013-07-12 0:48 ` Dave Taht
2013-07-12 9:34 ` Jesper Dangaard Brouer
2013-07-12 15:13 ` Eric Dumazet
2013-07-12 16:36 ` Sebastian Moeller
2013-07-12 16:54 ` Eric Dumazet
2013-07-12 17:00 ` Dave Taht
2013-07-15 13:40 ` Jesper Dangaard Brouer
2013-07-15 13:57 ` Eric Dumazet
2013-07-15 14:24 ` Jesper Dangaard Brouer
2013-07-15 15:30 ` Eric Dumazet
2013-07-15 17:19 ` Dave Taht
2013-07-12 16:37 ` Dave Taht
2013-07-12 16:39 ` Dave Taht
2013-07-12 16:50 ` Eric Dumazet
2013-07-12 16:54 ` Dave Taht
2013-07-12 17:19 ` Eric Dumazet
2013-07-12 17:35 ` Dave Taht
2013-07-12 17:47 ` Eric Dumazet
2013-07-12 18:06 ` Dave Taht
2013-07-15 12:56 ` Jesper Dangaard Brouer
2013-07-12 17:32 ` luca.muscariello
2013-07-11 19:41 ` Jonathan Morton
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=1373568848.4600.66.camel@edumazet-glaptop \
--to=eric.dumazet@gmail.com \
--cc=codel@lists.bufferbloat.net \
--cc=dave.taht@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