• Venkateswara Naralasetty's avatar
    ath10k: Add wrapper function to ath10k debug · 9d740d63
    Venkateswara Naralasetty authored
    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: default avatarKan Yan <kyan@chromium.org>
    Signed-off-by: default avatarVenkateswara Naralasetty <vnaralas@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    9d740d63
debug.c 64.1 KB