diff options
author | Felix Fietkau <nbd@nbd.name> | 2022-06-25 23:24:09 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2022-07-01 10:51:48 +0200 |
commit | 8e4bac0671054ba1ad2e3d41aa568ac55f51affd (patch) | |
tree | 3f25767abf196fc9862f9549705959da38acf162 /net/mac80211/main.c | |
parent | 8ccc07028cb7aaa6ad313f24a9442c7796416e19 (diff) |
wifi: mac80211: add a per-PHY AQL limit to improve fairness
In order to maintain fairness, the amount of queueing needs to be limited
beyond the simple per-station AQL budget, otherwise the driver can simply
repeatedly do scheduling rounds until all queues that have not used their
AQL budget become eligble.
To be conservative, use the high AQL limit for the first txq and add half
of the low AQL for each subsequent queue.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
Link: https://lore.kernel.org/r/20220625212411.36675-5-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index e6c1cafbe9e5..929bbdf55213 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -789,6 +789,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len, local->aql_txq_limit_low[i] = IEEE80211_DEFAULT_AQL_TXQ_LIMIT_L; local->aql_txq_limit_high[i] = IEEE80211_DEFAULT_AQL_TXQ_LIMIT_H; + atomic_set(&local->aql_ac_pending_airtime[i], 0); } local->airtime_flags = AIRTIME_USE_TX | AIRTIME_USE_RX; |