From: Jonathan Morton <chromatix99@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: Andrew McGregor <andrewmcgr@gmail.com>,
Jesper Dangaard Brouer <jbrouer@redhat.com>,
"cerowrt-devel@lists.bufferbloat.net"
<cerowrt-devel@lists.bufferbloat.net>,
bloat <bloat@lists.bufferbloat.net>,
Lorenzo Colitti <lorenzo@google.com>,
Felix Fietkau <nbd@nbd.name>
Subject: Re: [Cerowrt-devel] [Bloat] some notes on the archer c7v2's suitability for make-wifi-fast
Date: Fri, 27 Mar 2015 07:05:44 +0200 [thread overview]
Message-ID: <13C8415C-F90D-4D4B-962A-AAF945D20F2E@gmail.com> (raw)
In-Reply-To: <CAA93jw5yfJd4miWWwqm1DoquVRsStV145B0XbzF+_PkA0dzC+A@mail.gmail.com>
> On 27 Mar, 2015, at 04:10, Dave Taht <dave.taht@gmail.com> wrote:
>
> I think cake can be improved quite a bit more and we really need to do some profiling to find other bottlenecks.
I’ve got far enough with the improved Diffserv logic to see that, at the very least, cake3 will need to do less work to figure out that it’s throttled. That’s because the hard shaper is now global rather than class-local, so I can hoist it before any of the class-specific work. If it gets past that, it can be confident that it’s got a packet to deliver.
This is important, because cake_dequeue() often gets called twice per packet - once just after cake_enqueue(), when it might be too soon to transmit, and again when the watchdog timer fires to denote the correct transmit time.
The class selection loop is also smaller and simpler (fewer edge cases to cope with), and I worked out a shortcut to put in further down, so it doesn’t have to re-run the class selection if a flow happens to be in deficit. That’s another likely win.
So those might turn out to be significant efficiency improvements, altogether. Of course, if the real overhead is elsewhere, the improvements in throughput might turn out to be small, but for the moment I’m actually focusing on behaviour rather than throughput.
On that note, I’ve added a four-class Diffserv mapping alongside the existing eight-class one. This new mapping is:
Latency Sensitive (CS7, CS6, EF, VA, CS5, CS4)
Streaming Media (AF4x, AF3x, CS3, AF2x, TOS4, CS2, TOS1)
Best Effort (CS0, AF1x, TOS2, and all not otherwise specified)
Background Traffic (CS1)
> So I saw fairly long delays (7ms or more) when running at these speeds through the router.
TBH, it’s a sign of how far we’ve come that we now consider 7ms to be painful. :-)
- Jonathan Morton
next prev parent reply other threads:[~2015-03-27 5:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-27 2:10 [Cerowrt-devel] " Dave Taht
2015-03-27 2:25 ` [Cerowrt-devel] [Bloat] " Rich Brown
2015-03-27 2:30 ` Dave Taht
2015-03-27 2:30 ` Jonathan Morton
2015-03-27 5:05 ` Jonathan Morton [this message]
2015-03-27 20:06 ` [Cerowrt-devel] " Felix Fietkau
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=13C8415C-F90D-4D4B-962A-AAF945D20F2E@gmail.com \
--to=chromatix99@gmail.com \
--cc=andrewmcgr@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=dave.taht@gmail.com \
--cc=jbrouer@redhat.com \
--cc=lorenzo@google.com \
--cc=nbd@nbd.name \
/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