Re: [PATCH v5 11/15] misc: bcm-vk: add BCM_VK_QSTATS

From: Scott Branden
Date: Thu Oct 01 2020 - 18:12:23 EST




On 2020-09-30 7:33 p.m., Florian Fainelli wrote:
>
>
> On 9/30/2020 6:28 PM, Scott Branden wrote:
>> Add BCM_VK_QSTATS Kconfig option to allow for enabling debug VK
>> queue statistics.
>>
>> These statistics keep track of max, abs_max, and average for the
>> messages queues.
>>
>> Co-developed-by: Desmond Yan <desmond.yan@xxxxxxxxxxxx>
>> Signed-off-by: Desmond Yan <desmond.yan@xxxxxxxxxxxx>
>> Signed-off-by: Scott Branden <scott.branden@xxxxxxxxxxxx>
>> ---
>
> [snip]
>
>> +#if defined(CONFIG_BCM_VK_QSTATS)
>> +    /* clear qstats */
>> +    for (i = 0; i < VK_MSGQ_MAX_NR; i++) {
>> +        memset(&vk->to_v_msg_chan.qstats[i].qcnts, 0,
>> +               sizeof(vk->to_v_msg_chan.qstats[i].qcnts));
>> +        memset(&vk->to_h_msg_chan.qstats[i].qcnts, 0,
>> +               sizeof(vk->to_h_msg_chan.qstats[i].qcnts));
>> +    }
>> +#endif
>>       /* clear 4096 bits of bitmap */
>>       bitmap_clear(vk->bmap, 0, VK_MSG_ID_BITMAP_SIZE);
>
> It was not clear from looking at this patch how are the statistics exposed and how does one actually get them?
The QSTATS, since it is only for debug purpose, it will dump out periodically based on processed_num.
Nothing fancy as we only compile it in in extreme case for recreating a scenario.

The following is the part:

+       if (++qcnts->cnt >= BCM_VK_QSTATS_ACC_CNT) {
+               /* log average and clear counters */
+               dev_info(&vk->pdev->dev,
+                        "%s[%d]: Max: [%3d/%3d] Acc %d num %d, Aver %d\n",
+                        tag, qstats->q_num,
+                        qcnts->max_occ, qcnts->max_abs,
+                        qcnts->acc_sum,
+                        qcnts->cnt,
+                        qcnts->acc_sum / qcnts->cnt);
+
+               qcnts->cnt = 0;
+               qcnts->max_occ = 0;
+               qcnts->acc_sum = 0; 

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature