mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 18:47:06 +00:00
31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
|
From: Felix Fietkau <nbd@nbd.name>
|
||
|
Date: Wed, 13 Jul 2022 07:32:26 +0200
|
||
|
Subject: [PATCH] mac80211: exclude multicast packets from AQL pending airtime
|
||
|
|
||
|
In AP mode, multicast traffic is handled very differently from normal traffic,
|
||
|
especially if at least one client is in powersave mode.
|
||
|
This means that multicast packets can be buffered a lot longer than normal
|
||
|
unicast packets, and can eat up the AQL budget very quickly because of the low
|
||
|
data rate.
|
||
|
Along with the recent change to maintain a global PHY AQL limit, this can lead
|
||
|
to significant latency spikes for unicast traffic.
|
||
|
|
||
|
Since queueing multicast to hardware is currently not constrained by AQL limits
|
||
|
anyway, let's just exclude it from the AQL pending airtime calculation entirely.
|
||
|
|
||
|
Fixes: 8e4bac067105 ("wifi: mac80211: add a per-PHY AQL limit to improve fairness")
|
||
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||
|
---
|
||
|
|
||
|
--- a/net/mac80211/tx.c
|
||
|
+++ b/net/mac80211/tx.c
|
||
|
@@ -3792,7 +3792,7 @@ begin:
|
||
|
encap_out:
|
||
|
IEEE80211_SKB_CB(skb)->control.vif = vif;
|
||
|
|
||
|
- if (vif &&
|
||
|
+ if (tx.sta &&
|
||
|
wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) {
|
||
|
bool ampdu = txq->ac != IEEE80211_AC_VO;
|
||
|
u32 airtime;
|