mbox series

[RFC/RFT,0/4] Add Airtime Queue Limits (AQL) to mac80211

Message ID 156889576422.191202.5906619710809654631.stgit@alrua-x1 (mailing list archive)
Headers show
Series Add Airtime Queue Limits (AQL) to mac80211 | expand

Message

Toke Høiland-Jørgensen Sept. 19, 2019, 12:22 p.m. UTC
This series is a first attempt at porting the Airtime Queue Limits concept from
the out-of-tree ath10k implementation[0] to mac80211. I limited the scope of
this RFC to ath10k, but it should be straight forward to enable other drivers
(they just need to provide a last TX bitrate).

Unfortunately I don't currently have access to hardware to test this, so I'm
posting it here in the hope that someone else will take it for a spin. Do note
that this means that the series is completely untested (although it should
compile :)).

Also note that the series does make a couple of assumptions, as explained in the
individual patches. In particular, it relies on fields surviving in
ieee80211_tx_info; Johannes, care to comment on whether this is a valid
assumption (and whether you're OK with what I'm doing to that struct in the
first patch)?

The series is also available in my git repo here:
https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git/log/?h=mac80211-aql-01


[0] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/588190/13/drivers/net/wireless-4.2/ath/ath10k/mac.c#3845

---

Toke Høiland-Jørgensen (4):
      mac80211: Rearrange ieee80211_tx_info to make room for tx_time_est
      mac80211: Add API function to set the last TX bitrate for a station
      ath10k: Pass last TX bitrate up to mac80211
      mac80211: Apply Airtime-based Queue Limit (AQL) on packet dequeue


 drivers/net/wireless/ath/ath10k/htt_rx.c |    1 +
 include/net/mac80211.h                   |   32 ++++++++++++++++++++-----
 net/mac80211/debugfs.c                   |   24 +++++++++++++++++++
 net/mac80211/ieee80211_i.h               |   11 +++++++++
 net/mac80211/sta_info.c                  |    9 +++++++
 net/mac80211/sta_info.h                  |    2 ++
 net/mac80211/status.c                    |   22 +++++++++++++++++
 net/mac80211/tx.c                        |   38 +++++++++++++++++++++++++++++-
 8 files changed, 131 insertions(+), 8 deletions(-)

Comments

Toke Høiland-Jørgensen Sept. 19, 2019, 2:12 p.m. UTC | #1
Toke Høiland-Jørgensen <toke@redhat.com> writes:

> This series is a first attempt at porting the Airtime Queue Limits concept from
> the out-of-tree ath10k implementation[0] to mac80211. I limited the scope of
> this RFC to ath10k, but it should be straight forward to enable other drivers
> (they just need to provide a last TX bitrate).
>
> Unfortunately I don't currently have access to hardware to test this, so I'm
> posting it here in the hope that someone else will take it for a spin. Do note
> that this means that the series is completely untested (although it should
> compile :)).

Heh, it seems the kernel build bot did not agree with the "at least it
compiles" statement. There's a bug in the debugfs code; guess I don't
have debugfs enabled on my own build system...

Anyway, I've fixed this in the git version, but won't bother submitting
a new version here until someone's actually looked at it. If you're
going to try and compile it, I'd suggest just cloning the git tree:

https://git.kernel.org/pub/scm/linux/kernel/git/toke/linux.git/log/?h=mac80211-aql-01

-Toke