Lets make wifi fast again!
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@nbd.name>
To: Kan Yan <kyan@google.com>, johannes@sipsolutions.net
Cc: linux-wireless@vger.kernel.org,
	make-wifi-fast@lists.bufferbloat.net, toke@redhat.com,
	yiboz@codeaurora.org, john@phrozen.org, lorenzo@kernel.org,
	rmanohar@codeaurora.org, kevinhayes@google.com
Subject: Re: [Make-wifi-fast] [PATCH v11 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue
Date: Wed, 26 Feb 2020 21:30:34 +0100	[thread overview]
Message-ID: <789d592c-5b1b-b785-6d9c-86b7cc7d57f4@nbd.name> (raw)
In-Reply-To: <20191119060610.76681-5-kyan@google.com>

Hi,

I've take a closer look at the AQL implementation, and I found some
corner cases that need to be addressed soon:

- AQL estimated airtime does not take into account A-MPDU, so it is
significantly overestimating airtime use for aggregated traffic,
especially on high rates.
My proposed solution would be to check for a running aggregation session
and set estimated tx time to something like:
expected_airtime(16 * skb->len) / 16.

- We need an API that allows the driver to change the pending airtime
values, e.g. subtract estimated tx time for a packet.
mt76 an ath9k can queue packets inside the driver that are not currently
in the hardware queues. Typically if the txqs have more data than what
gets put into the hardware queue, both drivers will pull an extra frame
and queue it in its private txq struct. This frame will get used on the
next txq scheduling round for that particular station.
If you have lots of stations doing traffic (or having driver buffered
frames in powersave mode), this could use up a sizable chunk of the AQL
budget.
While removing the airtime of those packages would lead to AQL
temporarily underestimating airtime, I think it would be better than
overestimating it.

I will work on some patches. What do you think about these issues and my
proposed fixes?

- Felix

  reply	other threads:[~2020-02-26 20:30 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-19  6:06 [Make-wifi-fast] [PATCH v11 0/4] Add Airtime Queue Limits (AQL) to mac80211 Kan Yan
2019-11-19  6:06 ` [Make-wifi-fast] [PATCH v11 1/4] mac80211: Add new sta_info getter by sta/vif addrs Kan Yan
2019-11-19  6:06 ` [Make-wifi-fast] [PATCH v11 2/4] mac80211: Import airtime calculation code from mt76 Kan Yan
2019-11-22 12:12   ` Johannes Berg
2019-11-22 12:56     ` Toke Høiland-Jørgensen
2019-11-22 13:00       ` Johannes Berg
2019-11-22 13:11         ` Toke Høiland-Jørgensen
2019-11-22 13:15           ` Johannes Berg
2019-11-22 14:41             ` Toke Høiland-Jørgensen
2019-11-22 12:27   ` Johannes Berg
2019-11-22 12:56     ` Toke Høiland-Jørgensen
2019-11-19  6:06 ` [Make-wifi-fast] [PATCH v11 3/4] mac80211: Implement Airtime-based Queue Limit (AQL) Kan Yan
2019-11-19  6:06 ` [Make-wifi-fast] [PATCH v11 4/4] mac80211: Use Airtime-based Queue Limits (AQL) on packet dequeue Kan Yan
2020-02-26 20:30   ` Felix Fietkau [this message]
2020-02-26 21:56     ` Toke Høiland-Jørgensen
2020-02-27  8:24       ` Kan Yan
2020-02-27 10:42         ` [Make-wifi-fast] " Felix Fietkau
2020-02-27 11:07           ` Toke Høiland-Jørgensen
2020-02-27 12:00             ` Felix Fietkau
2020-02-27  8:34       ` Felix Fietkau
2020-02-27 10:07         ` Toke Høiland-Jørgensen
2020-02-27 11:34           ` Felix Fietkau
2020-02-27 11:59             ` Toke Høiland-Jørgensen
2020-02-27  9:25   ` Justin Capella
2020-02-27 10:17     ` Toke Høiland-Jørgensen

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=789d592c-5b1b-b785-6d9c-86b7cc7d57f4@nbd.name \
    --to=nbd@nbd.name \
    --cc=johannes@sipsolutions.net \
    --cc=john@phrozen.org \
    --cc=kevinhayes@google.com \
    --cc=kyan@google.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lorenzo@kernel.org \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=rmanohar@codeaurora.org \
    --cc=toke@redhat.com \
    --cc=yiboz@codeaurora.org \
    /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