summaryrefslogtreecommitdiff
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2020-07-24 21:28:16 +0300
committerJohannes Berg <johannes.berg@intel.com>2020-07-31 10:24:24 +0300
commit3ff901cb5df1d2102e924d75d91347a2a3070fa5 (patch)
tree070e3aea13a392b0a96451c20ec86cc67b8df209 /net/mac80211/tx.c
parent1303a51c24100b3b1915d6f9072fe5ae5bb4c5f6 (diff)
downloadlinux-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.c3
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,