[PATCH ath-next v5 0/9] wifi: ath11k: airtime queue limits, airtime fairness and a driver TXQ scheduler
From: Julius Bairaktaris
Date: Sun Oct 18 2026 - 13:49:17 EST
ath11k sets neither NL80211_EXT_FEATURE_AQL nor
NL80211_EXT_FEATURE_AIRTIME_FAIRNESS, so a saturated download queues
every frame in the hardware TX rings, where there is no AQM. This series
sets both, registers tx and rx airtime, and runs the TXQ scheduler from
the driver and from tx completion.
IPQ8074 AP, TCP download from a wired host to one 1x1 VHT80 station,
default limits, 20 s, three interleaved runs per arm:
Mbit/s sender RTT mean ms
auto rate without 92.9, 94.4, 94.3 111, 232, 231
with 93.7, 88.0, 93.6 124, 51, 167
VHT MCS 0 without 21.4, 22.3, 22.6 587, 550, 526
with 22.9, 22.2, 22.3 44, 42, 43
Airtime weights are accepted but leave a 2x2 HE160 station at 45 to 49%
of the airtime against a 1x1 VHT80 station at 1:1, 4:1 and 1:4, because
the firmware serves every station with frames queued in turn. Ending the
round at 256 MSDUs in flight, as Toke suggested, gives the HE160 station
65 to 80% at 4:1, but at 1:1 its aggregates shrink from 258 to 100 MSDUs
(one run) and the two-station throughput drops by a third, so the series
leaves it out.
The series is based on "wifi: ath11k/ath12k: implement TX flow control"
v7 [1], patches 1-3.
v5:
- rebase onto ath-next cd026e68fdbf and [1] patches 1-3
- patch 5: the free-slot check runs inside the round
- patch 7: charge rx airtime to the PPDU's TID (Tamizh)
- patch 8: a round that ends for lack of room restarts on the next
tx completion
- drop the dependency on the mac80211 weight patch
- v4: https://lore.kernel.org/all/20260908135319.754140-1-julius@xxxxxxxxxxxxxx/
[1] https://lore.kernel.org/all/20260917064825.12747-1-jtornosm@xxxxxxxxxx/
Julius Bairaktaris (9):
wifi: ath11k: free tx skbs through ieee80211_free_txskb()
wifi: ath11k: enable airtime queue limits
wifi: ath11k: report the pending tx MSDU count in soc_dp_stats
wifi: ath11k: report tx airtime and enable airtime fairness
wifi: ath11k: schedule TXQs from the driver
wifi: ath11k: run the TXQ scheduler on tx completion
wifi: ath11k: charge received airtime to the station deficit
wifi: ath11k: stop a scheduling round when the hardware refuses a
frame
wifi: ath11k: budget the tx completion handler
drivers/net/wireless/ath/ath11k/core.h | 7 ++
drivers/net/wireless/ath/ath11k/debugfs.c | 10 +++
drivers/net/wireless/ath/ath11k/dp.c | 10 ++-
drivers/net/wireless/ath/ath11k/dp_rx.c | 31 +++++++++
drivers/net/wireless/ath/ath11k/dp_tx.c | 55 ++++++++++++---
drivers/net/wireless/ath/ath11k/dp_tx.h | 3 +-
drivers/net/wireless/ath/ath11k/mac.c | 81 ++++++++++++++++++++---
drivers/net/wireless/ath/ath11k/mac.h | 1 +
8 files changed, 175 insertions(+), 23 deletions(-)
base-commit: cd026e68fdbf88b9cc522b76c7a9d92c9a41f709
prerequisite-patch-id: ff44eb6f1d673e75bc013e3ffc870d7d30252c17
prerequisite-patch-id: 59bd66038e87bf2ee9ecb2a916286685c789f865
prerequisite-patch-id: c86d3c9047c851f45b5d46398850c9d810d82258
--
2.53.0