diff options
author | Felix Fietkau <nbd@nbd.name> | 2020-07-24 21:28:16 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2020-07-31 10:24:24 +0300 |
commit | 3ff901cb5df1d2102e924d75d91347a2a3070fa5 (patch) | |
tree | 070e3aea13a392b0a96451c20ec86cc67b8df209 /net/mac80211/tx.c | |
parent | 1303a51c24100b3b1915d6f9072fe5ae5bb4c5f6 (diff) | |
download | linux-3ff901cb5df1d2102e924d75d91347a2a3070fa5.tar.xz |
mac80211: improve AQL tx airtime estimation
AQL does not take into account that most HT/VHT/HE traffic is A-MPDU aggregated.
Because of that, the per-packet airtime overhead is vastly overestimated.
Improve it by assuming an average aggregation length of 16 for non-legacy
traffic if not using the VO AC queue.
This should improve performance with high data rates, especially with multiple
stations
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Link: https://lore.kernel.org/r/20200724182816.18678-1-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 0d0e901b1d4c..7c0abe477b03 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -3722,10 +3722,11 @@ encap_out: if (vif && wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) { + bool ampdu = txq->ac != IEEE80211_AC_VO; u32 airtime; airtime = ieee80211_calc_expected_tx_airtime(hw, vif, txq->sta, - skb->len); + skb->len, ampdu); if (airtime) { airtime = ieee80211_info_set_tx_time_est(info, airtime); ieee80211_sta_update_pending_airtime(local, tx.sta, |