ath10k: improve wake_tx_queue ops performance
Kalle Valo
kvalo at qca.qualcomm.com
Fri Sep 2 08:52:08 PDT 2016
Rajkumar Manoharan <rmanohar at qti.qualcomm.com> wrote:
> txqs_lock is interfering with wake_tx_queue submitting more frames.
> so queues don't get filled in and don't keep firmware/hardware busy
> enough. This change helps to reduce the txqs_lock contention and
> wake_tx_queue() blockage to being possible in txrx_unref().
>
> To reduce turn around time of wake_tx_queue ops and to maintain fairness
> among all txqs, the callback is updated to push first txq alone from
> pending list for every wake_tx_queue call. Remaining txqs will be
> processed later upon tx completion.
>
> Below improvements are observed in push-only mode and validated on
> IPQ4019 platform. With this change, in AP mode ~10Mbps increase is
> observed in downlink (AP -> STA) traffic and approx. 5-10% of CPU
> usage is reduced.
>
> Major improvement is observed in 1-hop Mesh mode topology in 11ACVHT80.
> Compared to Infra mode, CPU overhead is higher in Mesh mode due to path
> lookup and no fast-xmit support. So reducing spin lock contention is
> helping in Mesh.
>
> TOT +change
> -------- --------
> TCP DL 545 Mbps 595 Mbps
> TCP UL 555 Mbps 585 Mbps
>
> Signed-off-by: Rajkumar Manoharan <rmanohar at qti.qualcomm.com>
Thanks, 1 patch applied to ath-next branch of ath.git:
83e164b7679d ath10k: improve wake_tx_queue ops performance
--
Sent by pwcli
https://patchwork.kernel.org/patch/9286083/
More information about the ath10k
mailing list