[Make-wifi-fast] How to figure out Linux wifi queue and ath10k queue scheduling?

Toke Høiland-Jørgensen toke at toke.dk
Wed Nov 22 09:25:24 EST 2017

Hi Louie

> I'm working on making VoWIFI performance more better on ath10k driver,
> my first thought is that I can modify queue scheduling algorithm
> inside ath10k.

Sounds awesome! What kind of VoIP traffic are you working with, and what
aspect of performance are you looking to improve? :)

> After tracking the commit log, it seems currently ath10k is using
> mac80211 as an intermidieate queue[1][2], and as [2] indicate, ath10k
> is not able to do airtime fairness now.

Yup, that's about right. We're working on the airtime fairness part,
though; see my recent presentation at Netdev a few weeks ago for an
updated status on previous and ongoing work [1].

> After reading the source code and [2], what I think about the queue in
> Linux to ath10k is:
> 1. Mac layer queue (mac80211)
> 2. ath10k 802.11e priority queues (4 queues, with different 802.11e ToS level)
> 3. ath10k firmware (HW) queue
> Am I right on this?

More or less (I don't know enough about how ath10k works internally to
tell you exactly how the internal queueing in the driver works).
Ideally, the lower-level queues (2 and 3) should be as empty as
possible, but no one ever got around to working on improving that. There
was an aborted attempt to apply the dynamic queue limit code[2] to
ath10k a while ago, but it was never completed. The WiP commit is here:

> Also, I saw the make-wifi-fast google docs[3], it has a plan for
> obsolete VO queue, is that still in the roadmap, or it is implemented,
> if not, where can I help for it?

The work on the different QoS levels has mostly been on the idea stage
so far. My presentation[1] has some ideas related to this as well, but
nothing has been implemented thus far. What's on the roadmap depends
mostly on what people go ahead and implement ;)


[1] https://www.netdevconf.org/2.2/session.html?jorgensen-wifistack-talk
[2] https://lwn.net/Articles/454390/
[3] https://github.com/kazikcz/linux/commit/1486ffbafdb4dd433203c35c694b7443fa769210

More information about the Make-wifi-fast mailing list