wifi: mac80211: switch airtime fairness back to deficit round-robin scheduling
This reverts commits6a789ba679and2433647bc8. The virtual time scheduler code has a number of issues: - queues slowed down by hardware/firmware powersave handling were not properly handled. - on ath10k in push-pull mode, tx queues that the driver tries to pull from were starved, causing excessive latency - delay between tx enqueue and reported airtime use were causing excessively bursty tx behavior The bursty behavior may also be present on the round-robin scheduler, but there it is much easier to fix without introducing additional regressions 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-1-nbd@nbd.name Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
7f884baae6
commit
942741dabc
@@ -998,25 +998,6 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw,
|
||||
if (!(info->flags & IEEE80211_TX_CTL_INJECTED) && acked)
|
||||
ieee80211_frame_acked(sta, skb);
|
||||
|
||||
} else if (wiphy_ext_feature_isset(local->hw.wiphy,
|
||||
NL80211_EXT_FEATURE_AIRTIME_FAIRNESS)) {
|
||||
struct ieee80211_sub_if_data *sdata;
|
||||
struct ieee80211_txq *txq;
|
||||
u32 airtime;
|
||||
|
||||
/* Account airtime to multicast queue */
|
||||
sdata = ieee80211_sdata_from_skb(local, skb);
|
||||
|
||||
if (sdata && (txq = sdata->vif.txq)) {
|
||||
airtime = info->status.tx_time ?:
|
||||
ieee80211_calc_expected_tx_airtime(hw,
|
||||
&sdata->vif,
|
||||
NULL,
|
||||
skb->len,
|
||||
false);
|
||||
|
||||
ieee80211_register_airtime(txq, airtime, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* SNMP counters
|
||||
|
||||
Reference in New Issue
Block a user