From: Sebastian Moeller <moeller0@gmx.de>
To: Dave Taht <dave.taht@gmail.com>
Cc: cerowrt-devel@lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] cerowrt 3.3.8-17 is released
Date: Mon, 20 Aug 2012 11:13:25 -0700 [thread overview]
Message-ID: <A348B73B-D896-42F6-A90B-8ED993CAD6BD@gmx.de> (raw)
In-Reply-To: <CAA93jw4AYY5J9h66v7mLHh3s-HaTkAW7fE1q-QFU-G=HBixcbQ@mail.gmail.com>
Hi Dave,
thanks to your patch/instructions below I managed to figure out that, in my case, netalyzr's upstream buffering number depends on the size go the fq_codel limit:
fq_codel limit reported upstream buffering netalyzr flag
default (10k?) 2800ms (red)
10000 2800ms (red)
1200 1300ms (red)
600 580ms (yellow)
100 97ms (green)
(I run 3.3.8-17 with 30000/4000 cable shaped to 29100/3880, 97% of line rate with the default QOS system)
With line rate at 90% the numbers increase slightly:
10000 2900ms (red)
With line rate at 50% the numbers increase massively at the default codel limit:
10000 3900ms (red)
1200 1300ms (red)
these values are pretty reliable (with no inter-run variability at all; or better it looks like netalyzr quantizes the reported values and suppresses the variation).
With 3.3.8-17 's simple_qos.sh (at 97% line rate I get)
600? 580ms (yellow)
With neither simple_qos.sh nor QOS active after a reboot I get:
NA 490ms (yellow)
NA 500ms (yellow)
(lower than with any qos scheme down to estimated limit 500)
Now it looks that, at least in my setup, netalyzr still is able to fill the codel queue somehow (otherwise why would the reported buffering scale with fq_codel limit up to a ceiling?)
The fq_codel bin the UPD test lands in reports that it is dropping packets (this is with limit 1200):
class fq_codel 400:d7 parent 400:
(dropped 3097, overlimits 0 requeues 0)
backlog 1292522b 1199p requeues 0
deficit 29 count 1403 lastcount 1 ldelay 1.2s dropping drop_next 1.3ms
… and the delay seems spot on with 1.2s or 1200ms. I have no better idea than in the short testing period given the non-responsiveness of the UDP test stream fq_codel simply does not drop enough packages to make a noticeable dent in the queued up packet load. Bback of envelope calculation: it takes around 2500 seconds to drop the first ~200 packets in a backlogged fq_codel flow, at netalyzr's ~1000 packets per second rate that leaves roughly 1000 * 2.5 - 200 = 2300 packets in the queue. Since netalyzr will adapt its UDP creation rate somewhat to the available bandwidth it might not be visible at typical DSL speeds…
The nice thing about fq_codel is that other flows still stay responsive, which is pretty impressive.
QUESTION: how do I interpret the following tc output for a fq_codel flow:
class fq_codel 400:1b5 parent 400:
(dropped 3201, overlimits 0 requeues 0)
backlog 1292522b 1199p requeues 0
deficit -891 count 921 lastcount 1 ldelay 1.5s dropping drop_next -4.3ms
Why turned the drop_next negative?
best
Sebastian
On Aug 15, 2012, at 9:58 PM, Dave Taht wrote:
> Firstly fq_codel will always stay very flat relative to your workload
> for sparse streamss such as a ping or voip dns or gaming...
>
> It's good stuff.
>
> And, I think the source of your 2.8 second thing is fq_codel's current
> reaction time, the non-responsiveness of the udp flooding netanylzer
> uses
> and huge default queue depth in openwrt's qos scripts.
>
> Try this:
>
> cero1@snapon:~/src/Cerowrt-3.3.8/package/qos-scripts/files/usr/lib/qos$
> git diff tcrules.awk
> diff --git a/package/qos-scripts/files/usr/lib/qos/tcrules.awk
> b/package/qos-scripts/files/usr/lib/qos/tcrules
> index a19b651..f3e0d3f 100644
> --- a/package/qos-scripts/files/usr/lib/qos/tcrules.awk
> +++ b/package/qos-scripts/files/usr/lib/qos/tcrules.awk
> @@ -79,7 +79,7 @@ END {
> # leaf qdisc
> avpkt = 1200
> for (i = 1; i <= n; i++) {
> - print "tc qdisc add dev "device" parent 1:"class[i]"0
> handle "class[i]"00: fq_codel"
> + print "tc qdisc add dev "device" parent 1:"class[i]"0
> handle "class[i]"00: fq_codel limit 1200
> }
>
> # filter rule
>
>
> --
> Dave Täht
> http://www.bufferbloat.net/projects/cerowrt/wiki - "3.3.8-17 is out
> with fq_codel!"
next prev parent reply other threads:[~2012-08-20 18:13 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-13 6:08 Dave Taht
2012-08-13 16:06 ` Maciej Soltysiak
2012-08-13 16:20 ` Dave Taht
2012-08-15 17:23 ` Sebastian Moeller
2012-08-15 22:53 ` dpreed
2012-08-15 22:57 ` William Katsak
2012-08-16 4:54 ` Sebastian Moeller
2012-08-16 11:08 ` William Katsak
2012-08-16 17:02 ` dpreed
2012-08-20 18:17 ` Sebastian Moeller
2012-08-16 4:51 ` Sebastian Moeller
2012-08-16 4:58 ` Dave Taht
2012-08-16 6:09 ` Sebastian Moeller
2012-08-20 18:13 ` Sebastian Moeller [this message]
2012-08-16 4:08 ` Dave Taht
2012-08-16 5:15 ` Sebastian Moeller
2012-08-20 18:24 ` Sebastian Moeller
2012-08-21 2:33 ` dpreed
2012-08-21 2:44 ` Marchon
2012-08-21 5:28 ` Sebastian Moeller
2012-08-22 18:23 ` dpreed
2012-08-22 18:54 ` Dave Taht
2012-08-22 19:23 ` Kenneth Finnegan
2012-08-22 20:44 ` Dave Taht
2012-08-21 5:23 ` Sebastian Moeller
2012-08-17 8:52 ` [Cerowrt-devel] cerowrt 3.3.8-17: nice latency improvements, some issues with bind Török Edwin
2012-08-17 18:05 ` Dave Taht
2012-08-17 19:05 ` Török Edwin
2012-08-17 19:52 ` Dave Taht
2012-08-17 20:13 ` Török Edwin
2012-08-18 20:16 ` Michael Richardson
2012-08-20 20:16 ` david
2012-08-20 20:41 ` George Lambert
2012-08-20 20:48 ` david
2012-08-20 21:27 ` George Lambert
2012-08-20 23:19 ` Michael Richardson
2012-08-21 22:03 ` Maciej Soltysiak
2012-08-21 22:31 ` George Lambert
2012-08-22 1:21 ` Michael Richardson
2012-08-18 9:38 ` Török Edwin
2012-08-18 10:20 ` [Cerowrt-devel] [Bloat] " Jonathan Morton
2012-08-18 17:07 ` [Cerowrt-devel] " Dave Taht
2012-08-25 13:56 ` Török Edwin
2012-08-25 18:09 ` Dave Taht
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/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=A348B73B-D896-42F6-A90B-8ED993CAD6BD@gmx.de \
--to=moeller0@gmx.de \
--cc=cerowrt-devel@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