Lets make wifi fast again!
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: Simon Barber <simon@superduper.net>,
	bloat <bloat@lists.bufferbloat.net>,
	 Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>
Subject: Re: [Make-wifi-fast] [Bloat] lwn.net's tcp small queues vs wifi aggregation solved
Date: Mon, 25 Jun 2018 18:27:55 -0700	[thread overview]
Message-ID: <CAA93jw6CTLAybtikeiVDfN9=p2eq-ttikiFu7YnL-FJuiHiWzw@mail.gmail.com> (raw)
In-Reply-To: <422BFE8C-1AAC-4A55-AF1F-448B3B5C0E28@gmail.com>

On Mon, Jun 25, 2018 at 5:44 PM, Jonathan Morton <chromatix99@gmail.com> wrote:
>> On 26 Jun, 2018, at 3:36 am, Simon Barber <simon@superduper.net> wrote:
>>
>> Most hardware needs the packet finalized before it starts to contend for the medium (as far as I’m aware - let me know if you know differently). One issue is that if RTS/CTS is in use, then the packet duration needs to be known in advance (or at least mid point of the RTS transmission).
>
> This is a valid argument.  I think we could successfully argue for a delay of 1ms, if there isn't already enough data in the queue to fill an aggregate, after the oldest packet arrives until a request is issued.

Whoa, nelly! In the context of the local tcp stack over wifi, I was
making an observation that I "frequently" saw a pattern of a single
ack txop followed by a bunch in a separate txop. and I suggested a
very short (10us) timeout before committing to the hw - not 1ms.

Aside from this anecdote we have not got real data or statistics. The
closest thing I have to a tool that can take apart wireless aircaps is
here: https://github.com/dtaht/airtime-pie-chart which can be hacked
to take more things apart than it currently does. Looking for this
pattern in more traffic would be revealing in multiple ways. Looking
for more patterns in bigger wifi networks would be good also.

I like erics suggestion of doing more ack compression higher up in the
tcp stack.

There are two other things I've suggested in the past we look at. 1)
The current fq_codel_for_wifi code has a philosophy of "one aggregate
in the hardware, one ready to go". A simpler modification to fit more
in would be to (wait the best case estimate for delivering the one in
the hardware - a bit), then form the one ready-to-go.

2) rate limiting mcast and smoothing mcast bursts over time, allowing
more unicast through. presently the mcast queue is infinite and very
bursty. 802.11 std actually suggests mcast be rate limited by htb,
where I'd be htb + fq + merging dup packets. I was routinely able to
blow up the c.h.i.p's wifi and the babel protocol by flooding it with
mcast, as the local mcast queue could easily grow 16+ seconds long.

um, I'm giving a preso tomorrow and will run behind this thread. It's
nice to see the renewed enthusiasm here, keep it up.

>> If there are no other stations competing for airtime, why does it matter that we use two txops?
>
> One further argument would be power consumption.  Radio transmitters eat batteries for lunch; the only consistently worse offender I can think of is a display backlight, assuming the software is efficient.

>  - Jonathan Morton
>
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat



-- 

Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619

  parent reply	other threads:[~2018-06-26  1:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-21  4:58 [Make-wifi-fast] " Dave Taht
2018-06-21  9:22 ` [Make-wifi-fast] [Bloat] " Toke Høiland-Jørgensen
     [not found]   ` <838b212e-7a8c-6139-1306-9e60bfda926b@gmail.com>
2018-06-21 15:18     ` Dave Taht
2018-06-21 15:31       ` Caleb Cushing
2018-06-21 15:46         ` Stephen Hemminger
2018-06-21 17:41           ` Caleb Cushing
2018-06-21 15:50         ` Dave Taht
     [not found]       ` <8f80b36b-ef81-eadc-6218-350132f4d56a@pollere.com>
     [not found]         ` <CAA93jw7R2+yogxMHJWaS6vMwzeJUOfq9T7MWNg0JQfBcEm=0CQ@mail.gmail.com>
     [not found]           ` <9dbb8dc8-bec6-8252-c063-ff0ba5fd7c1a@pollere.com>
     [not found]             ` <C03B3E60-FD68-46BC-930F-143879904767@gmail.com>
     [not found]               ` <25305.1529678986@localhost>
     [not found]                 ` <47EC21F5-94D2-4982-B0BE-FA1FA30E7C88@gmail.com>
     [not found]                   ` <18224.1529704505@localhost>
     [not found]                     ` <87muvjnobj.fsf@toke.dk>
     [not found]                       ` <CAGhGL2BAnd7LAncKoK=1rWcTZTqpZo33BKOTFrNmrHzin2B8Vw@mail.gmail.com>
     [not found]                         ` <68C3BBE1-96DA-41F7-9878-582074C4E769@gmail.com>
     [not found]                           ` <alpine.DEB.2.02.1806251716290.10496@nftneq.ynat.uz>
     [not found]                             ` <642CBFAE-A182-4D6E-968B-411159CBFD9B@superduper.net>
     [not found]                               ` <422BFE8C-1AAC-4A55-AF1F-448B3B5C0E28@gmail.com>
2018-06-26  1:27                                 ` Dave Taht [this message]
2018-06-26  3:30                                   ` Simon Barber

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='CAA93jw6CTLAybtikeiVDfN9=p2eq-ttikiFu7YnL-FJuiHiWzw@mail.gmail.com' \
    --to=dave.taht@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=simon@superduper.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