From: Dave Taht <dave.taht@gmail.com>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: Pete Heist <peteheist@gmail.com>,
Cake List <cake@lists.bufferbloat.net>,
make-wifi-fast@lists.bufferbloat.net
Subject: Re: [Cake] [Make-wifi-fast] Flent results for point-to-point Wi-Fi on LEDE/OM2P-HS available
Date: Wed, 8 Feb 2017 08:35:30 -0800 [thread overview]
Message-ID: <CAA93jw7YK+5Tk-bM=jkpG8HAD60oG0rTZBQRv83FDfNRxH=fhQ@mail.gmail.com> (raw)
In-Reply-To: <87bmucu0gs.fsf@toke.dk>
On Wed, Feb 8, 2017 at 8:11 AM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
> Pete Heist <peteheist@gmail.com> writes:
>
>> Yeah, I have recently begun learning Go myself, and like it too. Apart
>> from the fact that it produces these huge statically linked binaries,
>> and requires glibc, so you can't run it on embedded systems (such as
>> LEDE).
>>
>> If I were to integrate code that actually shipped packets into Flent, I
>> would probably use Python…
>>
>> Even after the new SSA back end, they can still be large. I hadn’t
>> thought to run Flent on embedded hardware, so there isn’t a
>> performance impact from running the test code itself on the hardware
>> you’re testing. But that’s true, if it needs to sometimes, then Go
>> doesn’t work.
>
> It's not so much running the test *from* the router, as it is having the
> server component (netserver) run on a router to test. To do that it'll
> have to be C, basically...
I note that I usually run tests *through* the router rather than *to*
the router, and most of my targets for this have evolved to be arm
(odroid c2), and x86 platforms, so I could get past a gbit.
Long ago I started writing a spec for the things that we couldn't
quite do sanely using netperf as a substrate (twd in my github repo),
but I gave up as getting to netperf equivalence was too hard.
Of note I've always regarded exposing d-itg and some sort of monotonic
voip-like test to the internet as too dangerous without a solid 3 way
handshake, and leveraging existing voip and webrtc/videoconferencing
servers (like freeswitch) way too hard to setup and measure. (there
are plenty of tools to generate rtp-like packets).
I am unfond of the current ping and udp tests in the rrul component
because they don't look like these traffic types, and drawing
conclusions from their behavior as if they were is wrong. Also, with
very low RTTs, the measurement flows tend to skew the tests - you'll
consistently see "lower bandwidth" measured when you cut an RTT from
100 to 1ms via active queue management, when what is really happening
is 100x more measurement traffic.
Of the choices today for writing network servers, go appears to be the
leading candidate, and certain things that might affect timings (for
example, stop the world garbage collection) can be turned off during a
test.
Being lazy about writing protocols and wanting to (eventually) also
have a C version, I'd looked over both protobufs, and
https://capnproto.org/ as means to abstract enough of that out to
handle both test negotiation and simulation...
and then I went back to just using trusty old netperf 'cause when you
are getting orders of magnitude improvements throughout the stack it
really didn't matter.
We're now at the point with both cake and fq_codel at the wifi mac
layer, where getting precision timings with variances below a ms is
becoming needed. (I basically ignore anything less than 3ms as noise
presently)...
and for example, I'm anal enough (now) to see this tiny latency spikes
on tests like this on 60 second intervals and wonder where they are
coming from...
http://www.taht.net/~d/worldwide_fairness.png
>> It’s not critical, but why am I able to see this level of reduction
>> when there’s already fq-codel in the driver? 25ms is very good, I only
>> wonder where I’m getting the extra 10-15ms from, out of interest. :)
>>
>> The driver queues up two aggregates beneath the queue to keep the
>> hardware busy. It may be possible to improve slightly upon this, but we
>> have not gotten around to trying yet.
>>
>> Ok, if rtt were about half of 25ms there would be almost no argument
>> for external rate limiting. Even as it is now, I question what
>> difference the user sees between 12ms and 25ms latency for Internet
>> traffic. It also makes me more interested to see results for Chaos
>> Calmer with fq_codel applied on the Wi-Fi device without limiting.
>>
>> Yup, exactly. We want to get to the point where you'll have no reason to
>> do any rate limiting.
>>
>> That reminds me, is there any way to disable fq-codel in the ath9k
>> driver, and revert to being able to use the qdisc layer without
>> limiting? Then I could do this testing without having to install Chaos
>> Calmer, and it could avoid some re-flashing in case I need to re-test
>> something in the new driver code again.
>
> Nope, no way to turn it off.
>
> -Toke
> _______________________________________________
> Make-wifi-fast mailing list
> Make-wifi-fast@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/make-wifi-fast
--
Dave Täht
Let's go make home routers and wifi faster! With better software!
http://blog.cerowrt.org
next prev parent reply other threads:[~2017-02-08 16:35 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-30 21:21 [Cake] " Pete Heist
2017-01-30 21:44 ` [Cake] [Make-wifi-fast] " Toke Høiland-Jørgensen
2017-01-30 22:48 ` Aaron Wood
2017-02-01 14:53 ` Toke Høiland-Jørgensen
2017-01-30 23:21 ` Dave Taht
2017-01-31 16:40 ` Pete Heist
2017-02-14 8:56 ` Pete Heist
2017-02-15 23:03 ` Dave Täht
2017-02-16 7:57 ` Pete Heist
2017-02-16 8:42 ` Sebastian Moeller
2017-02-16 9:17 ` Pete Heist
2017-02-16 16:15 ` Aaron Wood
2017-02-16 16:21 ` Sebastian Moeller
2017-02-16 16:51 ` Pete Heist
2017-02-16 17:19 ` Jonathan Morton
2017-02-16 19:05 ` Pete Heist
2017-02-16 20:54 ` Pete Heist
2017-02-16 21:03 ` Sebastian Moeller
2017-02-17 7:53 ` Pete Heist
2017-02-17 9:52 ` Toke Høiland-Jørgensen
2017-02-19 15:25 ` Dave Taht
2017-01-31 15:52 ` Pete Heist
2017-02-01 14:48 ` Toke Høiland-Jørgensen
2017-02-02 8:25 ` Pete Heist
2017-02-07 11:57 ` Toke Høiland-Jørgensen
2017-02-08 15:26 ` Pete Heist
2017-02-08 16:11 ` Toke Høiland-Jørgensen
2017-02-08 16:35 ` Dave Taht [this message]
2017-02-08 17:10 ` Dave Taht
2017-02-08 17:11 ` Dave Taht
2017-02-09 8:35 ` Pete Heist
2017-02-09 7:45 ` Pete Heist
2017-02-09 13:51 ` Toke Høiland-Jørgensen
2017-02-09 14:20 ` Pete Heist
2017-02-09 14:44 ` Toke Høiland-Jørgensen
2017-02-10 7:51 ` Pete Heist
2017-02-08 18:29 ` John Yates
2017-01-30 23:55 ` Dave Taht
2017-01-31 16:58 ` 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='CAA93jw7YK+5Tk-bM=jkpG8HAD60oG0rTZBQRv83FDfNRxH=fhQ@mail.gmail.com' \
--to=dave.taht@gmail.com \
--cc=cake@lists.bufferbloat.net \
--cc=make-wifi-fast@lists.bufferbloat.net \
--cc=peteheist@gmail.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