Lets make wifi fast again!
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: David Lang <david@lang.hm>
Cc: make-wifi-fast@lists.bufferbloat.net
Subject: Re: [Make-wifi-fast] Thoughts on tackling airtime fairness
Date: Wed, 11 May 2016 17:15:55 +0200	[thread overview]
Message-ID: <87zirwk4lw.fsf@toke.dk> (raw)
In-Reply-To: <alpine.DEB.2.02.1605110753590.1548@nftneq.ynat.uz> (David Lang's message of "Wed, 11 May 2016 08:03:11 -0700 (PDT)")

David Lang <david@lang.hm> writes:

>> Improving the access point behaviour is definitely the straight-forward
>> way, and there are many obvious improvements that can result from that,
>> as we've already seen in e.g. Michal's patch set. So looking at airtime
>> fairness from the point of view of the access point makes sense.
>
> As a practical matter, we are not going to be able to change the code
> on the nodes. There are just too many closed source, and
> never-to-be-updated devices out there (IoT)

Yes, there's that too. Besides, if we assume most traffic is TCP (or has
similar ack-type feedback), we can to a large extent control what the
client does by scheduling in the downstream.

> I think the problem is that the aggregates are created too soon, and
> as a result the rate can change drastically between the time the
> aggreagate is formed and when it is sent. I don't believe that they
> are really limited to 4ms in practice.

Ah, right, hadn't thought of that. Another good reason to reduce
queueing in the lower layers I suppose...

> Right now, most of the stuff is still doing packet-count based queues.
> On wired networks where the rate was constant, moving to BQL was a
> huge win. When the rate can vary so drastically, we need to be
> factoring rate into the picture somehow.

Yes, my thought was to just switch entirely to time-based accounting in
the scheduler. Which means that the scheduler has to have this
information available to it. Not sure whether that is practical at the
mac80211 layer (but suppose it could be done by adding appropriate
driver hooks if things are missing).

>> - How to measure the results? Can we dump the information from the
>>  driver (and is it accurate)? Do we need to parse aircaps? Something
>>  else?
>
> we need to be able to instrament the driver (I don't know if we can
> get enough data there or not currently)
>
> trying to work with aircaps has the problem that what you see in the
> aircap doesn't match what either the sender or receiver sees
>
> Take retransmissions as an example. They only happen because the
> receiver didn't see them. If you were to get an aircap off the same
> antenna as the receiver, you also wouldn't see them and therefor could
> not account for them. In the real world, you are doing the aircap from
> a different device, with a different antenna so what you see will be
> even more different. Now think about the normal case where you have
> two stations taking in two very different locations and one device to
> do the aircap.
>
> If we don't have anything else, aircaps are what we have to fall back
> on, but we need to realize how much we can't see at that point.

Hmm, hadn't thought of that. Damn. Well, guess we'll have to trust the
driver (or make it trustworthy if we can't).

-Toke

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

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-11 12:19 Toke Høiland-Jørgensen
2016-05-11 12:55 ` Luca Muscariello
2016-05-11 13:45   ` Toke Høiland-Jørgensen
2016-05-11 14:48     ` Luca Muscariello
2016-05-11 15:10       ` Toke Høiland-Jørgensen
2016-05-11 15:17         ` David Lang
2016-05-11 15:20           ` David Lang
2016-05-11 15:28             ` Toke Høiland-Jørgensen
2016-05-11 15:33         ` Luca Muscariello
2016-05-11 16:19           ` Dave Taht
2016-05-11 16:29             ` Dave Taht
2016-05-11 16:40               ` Toke Høiland-Jørgensen
2016-05-11 16:33             ` Luca Muscariello
2016-05-11 15:07     ` David Lang
2016-05-12 15:59     ` Dave Taht
2016-05-11 15:04   ` David Lang
2016-05-11 16:09     ` Luca Muscariello
2016-05-11 16:41       ` Dave Taht
2016-05-11 18:13         ` Dave Taht
2016-05-12  7:26           ` Michal Kazior
2016-05-12  8:21           ` Luca Muscariello
2016-05-12  8:40             ` David Lang
2016-05-12  8:48               ` Michal Kazior
2016-05-11 18:28         ` Luca Muscariello
2016-05-11 18:35           ` Luca Muscariello
2016-05-11 15:03 ` David Lang
2016-05-11 15:15   ` Toke Høiland-Jørgensen [this message]
2016-05-11 15:24     ` David Lang
2016-05-11 16:35     ` moeller0
2016-05-11 23:25       ` David Lang
2016-05-12  6:41         ` moeller0

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=87zirwk4lw.fsf@toke.dk \
    --to=toke@toke.dk \
    --cc=david@lang.hm \
    --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