ath11k: add processor_id based ring_selector logic
authorP Praneesh <ppranees@codeaurora.org>
Mon, 9 Nov 2020 09:41:55 +0000 (15:11 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 23 Nov 2020 18:03:39 +0000 (20:03 +0200)
commit0eaa4c1d34c5635e293b7068ae170152ce0d60ff
tree3ee5479ad97b38a6811edeb4585ee5a0137f6f62
parentc134d1f8c436d96b3f62896c630278e3ec001280
ath11k: add processor_id based ring_selector logic

Current ring selector logic follows round-robin scheduling,
when a process switch from one processor to another each time,
the data in the cache would have to be invalidated
and re-loaded from RAM leads to poor cache utilization.

Therefore smp_processor_id() attempt to keep processes
on the same processor via processor affinity which improves
cache utilization. Also, ring selection could be chosen round
robin when the processor_id based ring selection does not
have the resources.

Tested-on : IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00874-QCAHKSWPL_SILICONZ-1

Signed-off-by: P Praneesh <ppranees@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1604914915-12831-1-git-send-email-ppranees@codeaurora.org
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/dp_tx.c