[Make-wifi-fast] Support for airtime scheduling using ath10k

Miguel Catalan Cid miguel.catalan at i2cat.net
Mon Sep 7 06:29:28 EDT 2020


after doing some tests with different ath10k Wi-Fi cards and clients, I
found the following behaviour when combining AQL and the airtime scheduler:

- When using the default AQL limits (threshold 24000, limits per AC
5000/12000), the airtime scheduler is not working at all, regardless of the
airtime weights of the STAs. Indeed, in some cases, slower stations were
able to use a higher amount of airtime, leading to unfairness. I was
thinking that maybe the default AQL limits are too high to these slow
stations, allowing them to obtain too much pending airtime. I already used
the last patches from Felix Fietkau with the same results.

- Indeed, I was able to activate the airtime scheduler by fixing lower AQL
limits (e.g. threshold of 5000, limits per AC 0/5000). This way, it seems
that the STAs start competing again for the airtime, and their behaviour
follows the airtime weights. However,  slower STAs lose a bit of
performance due to these lower limits.

- The airtime weights have to be higher (e.g. 10000 vs 20000 to obtain a
33% vs 66% relation); I found the same behaviour using ath9k and 11n cards,
so I guess this is due to the aggregation of packets.

Looking into the code, it seems that the key airtime check is the one
in ieee80211_tx_dequeue. To enable the airtime scheduling, the
"ieee80211_txq_airtime_check" function has to return false more usually;
maybe it is just a matter of adjusting the AQL limits according to the
airtime weights or to modify a bit the "ieee80211_txq_airtime_check"
function to consider the airtime weight or the deficit of the stations.


El mar., 30 jun. 2020 a las 17:41, Toke Høiland-Jørgensen (<toke at redhat.com>)

> Miguel Catalan Cid <miguel.catalan at i2cat.net> writes:
> > Hi,
> >
> > Do we need to use a specific firmware? It's ok to use the last one from
> > kvalo, or should we use the one from candelatech?
> Shouldn't matter, I think; the airtime scheduler tries to do its thing
> in software. It does have to work around the firmware, to a certain
> extent, though, which I suspect is why it doesn't work quite so well as
> on ath9k.
> Incidentally, this "impedance mismatch" between scheduler and firmware
> is what this patch was supposed to fix:
> https://lore.kernel.org/linux-wireless/20191222172423.131033-1-toke@redhat.com/
> Never did get around to respinning it, so not sure if it still applies.
> If it does, you could try taking it for a spin; otherwise I can try
> updating it so you can apply it and test :)
> -Toke

Miguel Catalán Cid, PhD

Mobile Wireless Internet Group (MWI)
i2CAT Foundation, Barcelona, Spain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/make-wifi-fast/attachments/20200907/0da71c25/attachment.html>

More information about the Make-wifi-fast mailing list