From: Alan Jenkins <alan.christopher.jenkins@gmail.com>
To: Rosen Penev <rosenp@gmail.com>, bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Kirkwood BQL?
Date: Wed, 29 Jul 2015 12:24:30 +0100 [thread overview]
Message-ID: <55B8B7EE.3070401@gmail.com> (raw)
In-Reply-To: <CAKxU2N8qDgUXZTME1divoL6rBKUONWJorAU57G50beY87mqkvg@mail.gmail.com>
On 29/07/15 05:32, Rosen Penev wrote:
> Anyone know what the situation is with kirkwood and BQL? I found a
> patch for it but have no idea if there are any issues.
>
> I have such a system but have no idea how to ascertain the efficacy of BQL.
To the latter:
BQL works for transmissions that reach the full line rate (e.g. for
1000MB ethernet). It limits the queue that builds in the driver/device
to the minimum they need. Then queue mostly builds in the generic
networking stack, where it can be managed effectively e.g. by fq_codel.
So a simple efficacy test is to run a transmission at full speed, and
monitor latency (ping) at the same time. Just make sure the device
qdisc is set to fq_codel. fq_codel effectively prioritizes ping, so the
difference will be very easy to see.
I don't know if there's any corner cases that want testing as well.
BQL can be disabled at runtime for comparison testing:
http://lists.openwall.net/netdev/2011/12/01/112
There's a BQL tool to see it working graphically (using readouts from
the same sysfs directory):
https://github.com/ffainelli/bqlmon
My Kirkwood setup at home is weak, I basically never reach full link
speed. So this might be somewhat academic unless you set the link speed
to 100 or 10 using the ethtool command. (It seems like a good idea to
test those speeds even if you can do better though). You probably also
want to start with offloads (tso, gso, gro) disabled using ethtool,
because they aggregate packets.
Flent can do this test and generate pretty graphs, including a time
series (plot type "all_scaled") and frequency distribution for the ping
("ping_cdf"). Flent is a frontend to the netperf network performance
tester. You could use a directly connected laptop and run your own
netperf server (netserver command). You'll need to set up static IPs on
both ends for the duration... if headless then make sure you have an
alternative console access :).
The normal Flent test is RRUL, which is two-way. tcp_2up would be
better, to avoid testing both end's BQL at the same time. If you want
to run tcp_2up the other way round, so you only need netserver on the
ARM, try using '--swap-up-down'.
Alan
next prev parent reply other threads:[~2015-07-29 11:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-29 4:32 Rosen Penev
2015-07-29 11:24 ` Alan Jenkins [this message]
2015-07-29 11:36 ` Alan Jenkins
2015-07-29 17:07 ` David Lang
2015-07-29 17:42 ` Dave Taht
2015-07-29 17:56 ` Rosen Penev
2015-07-29 18:56 ` Alan Jenkins
2015-07-29 18:51 ` Alan Jenkins
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/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55B8B7EE.3070401@gmail.com \
--to=alan.christopher.jenkins@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=rosenp@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