[Patch v2] net/netvsc: report correct stats values
Ferruh Yigit
ferruh.yigit at xilinx.com
Tue May 3 21:55:32 CEST 2022
On 5/3/2022 8:14 PM, Long Li wrote:
>> Subject: Re: [Patch v2] net/netvsc: report correct stats values
>>
>> On 5/3/2022 7:18 PM, Long Li wrote:
>>>> Subject: Re: [Patch v2] net/netvsc: report correct stats values
>>>>
>>>> On Tue, 26 Apr 2022 22:56:14 +0100
>>>> Ferruh Yigit <ferruh.yigit at xilinx.com> wrote:
>>>>
>>>>>> if (i < RTE_ETHDEV_QUEUE_STAT_CNTRS) {
>>>>>> - stats->q_opackets[i] = txq->stats.packets;
>>>>>> - stats->q_obytes[i] = txq->stats.bytes;
>>>>>> + stats->q_opackets[i] += txq->stats.packets;
>>>>>> + stats->q_obytes[i] += txq->stats.bytes;
>>>>>
>>>>> This is per queue stats, 'stats->q_opackets[i]', in next iteration
>>>>> of the loop, 'i' will be increased and 'txq' will be updated, so as
>>>>> far as I can see the above change has no affect.
>>>>
>>>> Agree, that is why it was just assignment originally.
>>>
>>> The condition here is a little different. NETVSC is a master device with
>> another PMD running as a slave. When reporting stats values, it needs to add
>> the values from the slave PMD. The original code just overwrites the values
>> from its slave PMD.
>>
>> Where the initial values are coming from, 'hn_vf_stats_get()'?
>>
>> If 'hn_vf_stats_get()' fills the stats, what are the values kept in 'txq->stats.*'
>> in above updated loop?
>
> Yes, hn_vf_stats_get() fills in the stats from the slave PMD. txq->stats values are from the master PMD. Those values are different and accounted separated from the values from the slave PMD.
I see, since this is a little different than what most of the PMDs do,
can you please put a little more info to the commit log? Or perhaps can
add some comments to the code.
And still 'stats->rx_nombuf' change is not required right? If so can you
remove it in the next version?
More information about the dev
mailing list