[Make-wifi-fast] [PATCH v3 0/2] Implement Airtime-based Queue Limit (AQL)
Kan Yan
kyan at google.com
Wed Oct 9 22:25:00 EDT 2019
This patch series implements Airtime-based Queue Limit (AQL) in the mac80211 and Ath10k driver. It is based on an earlier version from the ChromiumOS tree[0].
This version has been tested with QCA9884 platform with 4.14 kernel. Tests show AQL is able to reduce latency by an order of magnitude in a congested environment without negative impact on the throughput.
[0] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1703105/7
Kan Yan (2):
mac80211: Implement Airtime-based Queue Limit (AQL)
ath10k: Enable Airtime-based Queue Limit (AQL)
drivers/net/wireless/ath/ath10k/htt_rx.c | 1 +
drivers/net/wireless/ath/ath10k/mac.c | 8 ++-
drivers/net/wireless/ath/ath10k/txrx.c | 11 +++-
include/net/cfg80211.h | 7 +++
include/net/mac80211.h | 43 +++++++++++++
net/mac80211/debugfs.c | 78 ++++++++++++++++++++++++
net/mac80211/debugfs_sta.c | 43 ++++++++++---
net/mac80211/ieee80211_i.h | 4 ++
net/mac80211/main.c | 8 ++-
net/mac80211/sta_info.c | 30 +++++++++
net/mac80211/sta_info.h | 4 ++
net/mac80211/tx.c | 46 +++++++++++++-
12 files changed, 263 insertions(+), 20 deletions(-)
--
Changes from v1:
- Fix checkpatch error.
- Keep iterate the list of active_txq until an eligible txq's deficit become non-negative in ieee80211_next_txq(), instead of break the loop after one iteration.
- Enforce the AQL limit in ath10k's pull mode in ath10k_htt_rx_tx_fetch_ind()
Changes from v2:
- More coding style fixes.
- Fixed a bug that txq is not removed from the active_txqs list when txq.sta is null.
- Removed AQL queue limit check from ieee80211_txq_may_transmit(), so at least one frame will be sent to the firmware when called from ath10k_htt_rx_tx_fetch_ind() in ath10k's poll mode.
More information about the Make-wifi-fast
mailing list