[PATCH] ath11k: add wmi ctrl path stats

Kalle Valo kvalo at kernel.org
Thu Sep 22 01:20:14 PDT 2022


Kalle Valo <kvalo at kernel.org> writes:

> Kalle Valo <kvalo at kernel.org> writes:
>
>> Thiraviyam Mariyappan <quic_tmariyap at quicinc.com> wrote:
>>
>>> Currently, ath11k HTT debugfs uses the HTT interface to send stats request
>>> to target and response from target. Here HTT interface already overloaded
>>> with the data path stats. To reduce the load from HTT, using WMI interface
>>> to print the control path stats. This patch come up with framework for
>>> control path stats using wmi interface.
>>> For now, this framework supports PDEV_STAT and further stats will be
>>> added.
>>> 
>>> WMI control path stats command and results are below:
>>> echo <stats_id> <action> >
>>>         sys/kernel/debug/ieee80211/phy3/netdev\:wlan3/wmi_ctrl_stats
>>> cat sys/kernel/debug/ieee80211/phy3/netdev\:wlan3/wmi_ctrl_stats
>>> stats_id:
>>> 1 -> WMI_REQ_CTRL_PATH_PDEV_STATS
>>> action:
>>> 1 -> stats get
>>> 2 -> stats reset
>>> 
>>> WMI_CTRL_PATH_PDEV_STATS:
>>> req_id = 26
>>> fw_tx_mgmt_subtype =  0:0, 1:0, 2:0, 3:0, 4:0, 5:109, 6:0, 7:0, 8:344, ...
>>> fw_rx_mgmt_subtype =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, ...
>>> scan_fail_dfs_violation_time_ms = 0
>>> nol_chk_fail_last_chan_freq = 0
>>> nol_chk_fail_time_stamp_ms = 0
>>> tot_peer_create_cnt = 2
>>> tot_peer_del_cnt = 1
>>> tot_peer_del_resp_cnt = 1
>>> vdev_pause_fail_rt_to_sched_algo_fifo_full_cnt = 0
>>> 
>>> Tested-on: WLAN.HK.2.5.0.1-00517-QCAHKSWPL_SILICONZ-1
>>> 
>>> Signed-off-by: Thiraviyam Mariyappan <quic_tmariyap at quicinc.com>
>>> Signed-off-by: Kalle Valo <quic_kvalo at quicinc.com>
>>
>> This added new warnings:
>>
>> drivers/net/wireless/ath/ath11k/debugfs.c:1600: line length of 92 exceeds 90 columns
>> drivers/net/wireless/ath/ath11k/debugfs.c:1666: line length of 93 exceeds 90 columns
>> drivers/net/wireless/ath/ath11k/wmi.c:2702: line length of 94 exceeds 90 columns
>> drivers/net/wireless/ath/ath11k/wmi.c:2703: line length of 97 exceeds 90 columns
>> drivers/net/wireless/ath/ath11k/wmi.c:7037: line length of 97 exceeds 90 columns
>> drivers/net/wireless/ath/ath11k/wmi.c:7085: line length of 97 exceeds 90 columns
>>
>> I fixed them in the pending branch. But in the future please use ath11k-check.
>>
>> There was one way too long field:
>>
>> 	u32 vdev_pause_fail_rt_to_sched_algo_fifo_full_cnt;
>>
>> I renamed that to:
>>
>> 	u32 vdev_pause_fail_rt;
>>
>> In ath11k_wmi_send_wmi_ctrl_stats_cmd() the error handling was unnecessarily
>> using else branch which caused long lines, I fixed that by avoiding else
>> branches.
>>
>> Also I saw some other things, like calling kzalloc() in variable declarations,
>> but I will look at them in detail later.
>>
>> Here's what I did now:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=28bc80a6a9c675fdc7003934a9493d9e95570f5f
>
> And in my regression testing with WCN6855 I see new warnings:
>
> [ 422.555328] debugfs: File 'wmi_ctrl_stats' in directory
> 'netdev:wlan0' already present!

For the archives, here's a link to the commit in the pending branch with
my changes:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending-deferred&id=4f8f38d0c5b752a7d4bacf4f099915a7b705562b

I'll drop this now from my queue.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



More information about the ath11k mailing list