From: Aaron Wood <woody77@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: cake@lists.bufferbloat.net,
cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cake] [Cerowrt-devel] ingress rate limiting falling short
Date: Wed, 3 Jun 2015 15:43:53 -0700 [thread overview]
Message-ID: <CALQXh-O4spRSmTjpMJ0_kyh8SucPm6vudZ03ExCZQ-Yan6zK7g@mail.gmail.com> (raw)
In-Reply-To: <CAA93jw5TM1SaBka0Jt+C=uadbz1aAr=5x=_To9Fe5QCyLDe4Dg@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2759 bytes --]
On Wed, Jun 3, 2015 at 3:27 PM, Dave Taht <dave.taht@gmail.com> wrote:
>
>
>> kbps = quantum = time
>> 20000 = 3000 = 1.2ms
>> 30000 = 6000 = 1.6ms
>> 40000 = 12000 = 2.4ms
>> 50000 = 24000 = 3.84ms
>> 60000 = 48000 = 6.4ms
>> 80000 = 96000 = 9.6ms
>>
>
>
>> So it appears that the goal of these values was to keep increases the
>> quantum as rates went up to provide more bytes per operation, but that's
>> going to risk adding latency as the time-per-quantum crosses the delay
>> target in fq_codel (if I'm understanding this correctly).
>>
>> So one thing that I can do is play around with this, and see if I can
>> keep that quantum time at a linear level (ie, 10ms, which seems _awfully_
>> long), or continue increasing it (which seems like a bad idea). I'd love
>> to hear from whoever put this in as to what it's goal was (or was it just
>> empirically tuned?)
>>
>
> Empirical and tested only to about 60Mbits. I got back about 15% cpu to do
> it this way at the time I did it on the wndr3800.
>
Basically, increasing the quantums to get more cpu available... So a
too-small quantum is going to be excessive cpu, and a too-large quantum is
going to be poor fairness?
> and WOW, thx for the analysis! I did not think much about this crossover
> point at the time - because we'd maxed on cpu long beforehand.
>
No problem, this is the sort of thing I _can_ help with, since I don't know
the kernel internals very well.
I can certainly see this batching interacting with the codel target.
>
Which may also explain your comments about poor fairness on my 3800 results
when up at 60-80Mbps, when htb's quantum has crossed over fq_codel's target?
> On the other hand, you gotta not be running out of cpu in the first place.
> I am liking where cake is going.
>
Yeah. That's what I _also_ need to figure out. Load seems "reasonable",
but load and cpu stats get reported oddly on multi-core (some things are
per-core, some are per-total available, etc). I know I've seen the
"soft_irq" thread at 70% in top doing some tests (in the past). I wouldn't
be surprised if this is a single-core-only bit of code? (or can htb
processing and fq_codel processing be shoved to separate cores?)
One of my daydreams is that once we have writable custom ethernet hardware
> that we can easily do hardware outbound rate limiting/shaping merely by
> programming a register to return a completion interrupt at the set rate
> rather than the actual rate.
>
well, inbound is certainly more of an issue than outbound right now...
So, for my next rounds of tests, I can play around with different quantum
values/schemes, and also play with simple.qos vs. simplest.qos, and
instrument the whole thing to capture processor utilization vs. bandwidth.
-Aaron
[-- Attachment #2: Type: text/html, Size: 4844 bytes --]
prev parent reply other threads:[~2015-06-03 22:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CALQXh-OjiUaStSrVAOcRodA8eGCL2eExNO76Ncu-7i3JJPRPPw@mail.gmail.com>
[not found] ` <5A699476-8E71-4D38-BABE-F755931447B5@gmx.de>
[not found] ` <CALQXh-MSbgCJxvamiSGH0xS83Dd3v++_2a2rkdzQi4bB3nQUmQ@mail.gmail.com>
2015-06-03 22:27 ` Dave Taht
2015-06-03 22:34 ` Dave Taht
2015-06-03 22:43 ` Aaron Wood [this message]
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=CALQXh-O4spRSmTjpMJ0_kyh8SucPm6vudZ03ExCZQ-Yan6zK7g@mail.gmail.com \
--to=woody77@gmail.com \
--cc=cake@lists.bufferbloat.net \
--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