Search Linux Wireless

Re: Performance degradation with "wifi: mac80211: Drop support for TX push path"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29.04.23 09:36, Alexander Wetzel wrote:
...
First I would like to thank you for the cleanups you are doing in
mac80211, as a driver writer [1] I used to scratch my head to
understand the internals.

I work for a french ISP called Free, and actively maintain the
software of all router/gateway devices (couple millions deployed)

We have a very large number of old devices deployed that are >10 years
old but on which we manage to run a mainline kernel. Those are ARM
Kirkwook (armv5 1Ghz) based devices, wifi is Marvell 11n 2.4Ghz (mwl8k
based) + QCA 11ac 5ghz (QCA998X/ath10k).

The CPU was always a bit underpowered for the 11ac card, but I could
reach ~400Mbit/s in a routing test between WAN and Wifi, 100% CPU usage.

Since work started in 2019 on ath10k debloat, I applied that patch [2]
to avoid performance degration.

Since "wifi: mac80211: Drop support for TX push path", it's not
possible to do that anymore, so I did a benchmark to see the impact,
the same routing test caps at 250Mbit/s. I suppose some openwrt users
will be affected also.

Well, I guess calling wake_tx_queue and then transmitting (mostly) one packet is probably causing that. Now there are some ideas to improve that by using a kthreads. It's hidden in the discussion here: https://lore.kernel.org/all/82d5623b-8d21-a8c1-e835- e446adf96cde@xxxxxxxxxxxxxx/

My problem with doing that *now* is, that I'm working on a invasive patch set in mac80211. Which will really clean up the old logic and not just tweak some simple things. It's mostly sorted out and written, only a few issue left till I can try it out. But I'm not getting around to wrap that up for work/ private reasons for quite some weeks (really months...) now. Rebasing and then testing the already working patches for a wake_tx_queue implementation using kthreads is something I'm hoping to avoid:-)

Now, I've more or less already decided to add the kthread patch to that series, once I get it stabilized at its current level. I have some hopes, that I can reuse the reworked PS mechanism to even simplify such an patch.

I did put the promised patch set aside for quite some time again and just resumed looking into them a few weeks ago.

They are now good enough that I could share patches moving TX a kthread.
So if you - or anyone else - is interested to check the performance with kthread TX I would wrap them up and post an RFC for that.


Alexander





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux