> On May 8, 2020, at 12:17 PM, Ananyev, Konstantin 
> <konstantin.anan...@intel.com> wrote:
> 
>> Hi Konstantin,
>> 
>>> On May 7, 2020, at 4:50 AM, Ananyev, Konstantin 
>>> <konstantin.anan...@intel.com> wrote:
>>> 
>>> 
>>> 
>>>> -----Original Message-----
>>>> From: dev <dev-boun...@dpdk.org> On Behalf Of Dharmik Thakkar
>>>> Sent: Wednesday, May 6, 2020 10:59 PM
>>>> To: Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing 
>>>> <jingjing...@intel.com>; Iremonger, Bernard <bernard.iremon...@intel.com>
>>>> Cc: dev@dpdk.org; n...@arm.com; Dharmik Thakkar <dharmik.thak...@arm.com>
>>>> Subject: [dpdk-dev] [PATCH 2/5] app/testpmd: print fractional part in CPU 
>>>> cycles
>>>> 
>>>> Change printing of CPU cycles/packet to include fractional part for
>>>> accurateness.
>>>> 
>>>> Example:
>>>> 
>>>> Without patch:
>>>> CPU cycles/packet=14
>>>> (total cycles=4899533541 / total RX packets=343031966)
>>>> 
>>>> With patch:
>>>> CPU cycles/packet=14.28
>>>> (total cycles=4899533541 / total RX packets=343031966)
>>>> 
>>>> Signed-off-by: Dharmik Thakkar <dharmik.thak...@arm.com>
>>>> Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>
>>>> Reviewed-by: Phil Yang <phil.y...@arm.com>
>>>> ---
>>>> app/test-pmd/testpmd.c | 4 ++--
>>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>> 
>>>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
>>>> index 9a8cbbd6fc7c..9444a730a153 100644
>>>> --- a/app/test-pmd/testpmd.c
>>>> +++ b/app/test-pmd/testpmd.c
>>>> @@ -1955,9 +1955,9 @@ fwd_stats_display(void)
>>>> #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
>>>> #define CYC_PER_MHZ 1E6
>>>>    if (total_recv > 0)
>>>> -          printf("\n  CPU cycles/packet=%u (total cycles="
>>>> +          printf("\n  CPU cycles/packet=%.2f (total cycles="
>>>>                   "%"PRIu64" / total RX packets=%"PRIu64") at %lu MHz 
>>>> Clock\n",
>>>> -                 (unsigned int)(fwd_cycles / total_recv),
>>>> +                 (double)(fwd_cycles / (double)total_recv),
>>> 
>>> Probably safer long double - to avoid overflow.
>> 
>> Is it possible for a ‘double' to be less than 8 bytes?
> 
> That was my initial thought - that on some 32 bit systems it could be 4B.
> Though it seems I was wrong, so feel free to ignore.
> BTW, what for double conversion, why not just:
> double)(fwd_cycles /total_recv
> ?

Without (double) total recv, I will always get the fractional part as .00.
For the above example, with (double)(fwd_cycles / total_recv), I see 14.00 
instead of 14.28

> 
> 
> 
>> 
>>> 
>>>>                   fwd_cycles, total_recv, (uint64_t)(rte_get_tsc_hz() / 
>>>> CYC_PER_MHZ));
>>>> #endif
>>>> }
>>>> --
>>>> 2.20.1

Reply via email to