Lets make wifi fast again!
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: "Dave Täht" <dave@taht.net>
Cc: make-wifi-fast@lists.bufferbloat.net
Subject: Re: [Make-wifi-fast] Diagram of the ath9k TX path
Date: Wed, 11 May 2016 08:09:51 -0700	[thread overview]
Message-ID: <CAA93jw6BcjEPg0P5TigC4oK81+T0dxS5_GdgwaauDTrGfCvazg@mail.gmail.com> (raw)
In-Reply-To: <57333DCF.3050006@taht.net>

On Wed, May 11, 2016 at 7:12 AM, Dave Täht <dave@taht.net> wrote:
>
>
> On 5/10/16 2:04 AM, Toke Høiland-Jørgensen wrote:
>> David Lang <david@lang.hm> writes:
>>
>>> There are two parts to this process
>>>
>>> 1. the tactical (do you send the pending packet immediately, or do you
>>> delay it to see if you can save airtime with aggregation)
>>
>> A colleague of mine looked into this some time ago as part of his PhD
>> thesis. This was pre-801.11n, so they were doing experiments on adding
>> aggregation to 802.11g by messing with the MTU. What they found was that
>> they actually got better results from just sending data when they had it
>> rather than waiting to see if more showed up.
>
> cat 802.11g_research/* > /dev/null

Sorry, that was overly pithy (precoffee here). What I'd meant was that
802.11e's assumptions as to how to do scheduling, particularly for
QoS, and how 802.11g behaved in comparison to n and later, does not
give you much of a starting point on how to address things now.
Successive standards and implementations have made certain things much
better and other things much worse.

Adopting 802.11e style QoS framing - good idea
Adopting 802.11e style hw queue scheduling (EDCA) by mapping diffserv
queues blindly to to those hw queues - horrific, without also
attempting to meet the service time requirements in the software queue
management. I have been perpetually demonstrating 200+ms VO queues
since day one, starving the other queues, where what you want is a
very short queue (under 10ms), served sparsely (say, no more than 2 or
4/10ths of the overall airtime) - and only "The right stuff" to map
into it. CS6/CS7 do not belong in VO.

802.11n - It became saner to just aggregate in most cases where you
might have used 802.11e qos, steering flows into the next packed txop.
And as noted elsewhere[1], per station queuing so you can, indeed,
aggregate sanely.

Packing on all the new management frames and crypto without sanely
managing those, not so good idea.

Holding multicast to it's 1998 rate... grump.

802.11ac - adopting the better framing universally for all hw queues -
good. Still blindly exposing those queues to userspace - horrible.
Hiding most the rate control and retry information (as all firmware
seem to do thus far), tying our hands behind our backs. Using up all
the channels in a world with an ever increasing density of aps and
stations and trying to manage the allocations in hardware, scary. Four
color theorem....

Cramming up to 4MBytes into a single TXOP - what a great lab result! I
have no idea how to do that, and am pretty sure even trying is
undesirable.

...

I'd like to (re)start with 802.11ac assumptions and work backwards,
rather than 802.11g assumptions and work forwards. The most desirable
thing I'd love to see is hardware capable of turning the tail end of a
txop around and
sending some real data back, and to know if QosNoack can be
selectively used.....

And on my bad days, I really would like to go back to playing with
5mhz channels (which the ath9k still supports), and getting channel
selection to work better. I'd rather have 5mbits of reliable low
latency bandwidth in the real world, than 500Mbits in a faraday cage.

/me goes in search of some more coffee.

[1] I really wanted people to argue with me about this talk one day...
http://blog.cerowrt.org/post/talks/make-wifi-fast/


-- 
Dave Täht
Let's go make home routers and wifi faster! With better software!
http://blog.cerowrt.org

  reply	other threads:[~2016-05-11 15:09 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-09 11:00 Toke Høiland-Jørgensen
2016-05-09 15:35 ` Dave Taht
2016-05-10  2:25   ` Jonathan Morton
2016-05-10  2:59     ` Dave Taht
2016-05-10  3:30       ` [Make-wifi-fast] [ath9k-devel] " Adrian Chadd
2016-05-10  4:04         ` Dave Taht
2016-05-10  4:22           ` Aaron Wood
2016-05-10  7:15           ` Adrian Chadd
2016-05-10  7:17             ` Adrian Chadd
2016-05-10  3:41       ` [Make-wifi-fast] " David Lang
2016-05-10  4:59         ` Dave Taht
2016-05-10  5:22           ` David Lang
2016-05-10  9:04             ` Toke Høiland-Jørgensen
2016-05-11 14:12               ` Dave Täht
2016-05-11 15:09                 ` Dave Taht [this message]
2016-05-11 15:20                   ` Toke Høiland-Jørgensen
2016-05-13 17:46         ` Bob McMahon
2016-05-13 17:49           ` Dave Taht
2016-05-13 18:05             ` Bob McMahon
2016-05-13 18:11               ` Bob McMahon
2016-05-13 18:57               ` Dave Taht
2016-05-13 19:20                 ` Aaron Wood
2016-05-13 20:21                   ` Dave Taht
2016-05-13 20:51                     ` Dave Taht
2016-05-13 20:49           ` David Lang

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/make-wifi-fast.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAA93jw6BcjEPg0P5TigC4oK81+T0dxS5_GdgwaauDTrGfCvazg@mail.gmail.com \
    --to=dave.taht@gmail.com \
    --cc=dave@taht.net \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    /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