[Make-wifi-fast] [PATCH RFC/RFT 4/4] mac80211: Apply Airtime-based Queue Limit (AQL) on packet dequeue
Yibo Zhao
yiboz at codeaurora.org
Wed Sep 25 07:54:37 EDT 2019
On 2019-09-25 16:11, Toke Høiland-Jørgensen wrote:
> Yibo Zhao <yiboz at codeaurora.org> writes:
>
>> So if it is going to work together with virtual time based mechanism
>> in
>> the future, the Tx criteria will be met both of below conditions,
>> 1. Lower than g_vt
>> 2. Lower than IEEE80211_AIRTIME_QUEUE_LIMIT
>
>> Are we going to maintain two kinds of airtime that one is from
>> estimation and the other is basically from FW reporting?
>
> Yes, that was my plan. For devices that don't have FW reporting of
> airtime, we can fall back to the estimation; but if we do have FW
> reporting that is most likely going to be more accurate, so better to
> use that for fairness...
Do you mean we will use airtime reported by FW to calculate
local->airtime_queued in case we have FW reporting airtime?
>
>> Meanwhile, airtime_queued will also limit the situation that we only
>> have a station for transmission. Not sure if the peak throughput will
>> be impacted. I believe it may work fine with 11ac in chromiumos, how
>> about 11n and 11a?
>
> Well, we will need to test that, of course. But ath9k shows that it's
> quite possible to run with quite shallow buffers, so with a bit of
> tuning I think we should be fine. If anything, slower networks need
> *fewer* packets queued in the firmware, and it's *easier* for the host
> to keep up with transmission.
>
>> Anyway, I think this approach will help to improve performance of the
>> virtual time based mechanism since it makes packets buffered in host
>> instead of FW's deep queue. We have observed 2-clients case with
>> different ratio in TCP fails to maintain the ratio because the packets
>> arriving at host get pushed to FW immediately and thus the airtime
>> weight sum is 0 in most of time meaning no TXQ in the rbtree. For UDP,
>> if we pump load more than the PHY rate, the ratio can be maintained
>> beacuse the FW queue is full and packtes begin to be buffered in host
>> making TXQs staying on the rbtree for most of time. However, TCP has
>> its
>> own flow control that we can not push enough load like UDP.
>
> Yes, fixing that is exactly the point of this series :)
>
> -Toke
--
Yibo
More information about the Make-wifi-fast
mailing list