]> git.baikalelectronics.ru Git - kernel.git/commit
ath10k: Add wrapper function to ath10k debug
authorVenkateswara Naralasetty <vnaralas@codeaurora.org>
Mon, 27 May 2019 12:32:13 +0000 (15:32 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 25 Jun 2019 12:48:47 +0000 (15:48 +0300)
commit678658d4d20be0f258c38ae7b21a1c2401d701fb
tree7b29b8b06c41b0eb2bb78479d7002842add5fc85
parentc1fd983cc3fda2efcbf0aad6395ec1914e2b333d
ath10k: Add wrapper function to ath10k debug

ath10k_dbg() is called in ath10k_process_rx() with huge set of arguments
which is causing CPU overhead even when debug_mask is not set.
Good improvement was observed in the receive side performance when call
to ath10k_dbg() is avoided in the RX path.

Since currently all debug messages are sent via tracing infrastructure,
we cannot entirely avoid calling ath10k_dbg. Therefore, call to
ath10k_dbg() is made conditional based on tracing config in the driver.

Trasmit performance remains unchanged with this patch; below are some
experimental results with this patch and tracing disabled.

mesh mode:

w/o this patch          with this patch
Traffic       TP      CPU Usage      TP      CPU usage

TCP          840Mbps    76.53%      960Mbps    78.14%
UDP          1030Mbps   74.58%      1132Mbps   74.31%

Infra mode:

w/o this patch          with this patch
Traffic        TP      CPU Usage      TP      CPU usage

TCP Rx       1241Mbps   80.89%      1270Mbps   73.50%
UDP Rx       1433Mbps   81.77%      1472Mbps   72.80%

Tested platform : IPQ8064
hardware used : QCA9984
firmware ver : ver 10.4-3.5.3-00057

Signed-off-by: Kan Yan <kyan@chromium.org>
Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/core.c
drivers/net/wireless/ath/ath10k/debug.c
drivers/net/wireless/ath/ath10k/debug.h
drivers/net/wireless/ath/ath10k/trace.c
drivers/net/wireless/ath/ath10k/trace.h