[dpdk-dev] [PATCH 1/5] app/testpmd: print clock with CPU cycles per pkt

Lukasz Wojciechowski l.wojciechow at partner.samsung.com
Thu May 7 00:48:22 CEST 2020


W dniu 06.05.2020 o 23:58, Dharmik Thakkar pisze:
> On aarch64 platforms, the cycles are counted using either a
> low-resolution generic counter or a high-resolution PMU cycle counter.
> Print the clock frequency along with CPU cycles/packet to identify which
> cycle counter is being used.
>
> Signed-off-by: Dharmik Thakkar <dharmik.thakkar at arm.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> Reviewed-by: Phil Yang <phil.yang at arm.com>
> ---
>   app/test-pmd/testpmd.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 99bacddbfdca..9a8cbbd6fc7c 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -1953,11 +1953,12 @@ fwd_stats_display(void)
>   	       "%s\n",
>   	       acc_stats_border, acc_stats_border);
>   #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES
> +#define CYC_PER_MHZ 1E6
>   	if (total_recv > 0)
>   		printf("\n  CPU cycles/packet=%u (total cycles="
> -		       "%"PRIu64" / total RX packets=%"PRIu64")\n",
> +		       "%"PRIu64" / total RX packets=%"PRIu64") at %lu MHz Clock\n",
Please use PRIu64 instead of %lu to keep printing uint64_t portable for 
different hardware, OS and compilers.
>   		       (unsigned int)(fwd_cycles / total_recv),
> -		       fwd_cycles, total_recv);
> +		       fwd_cycles, total_recv, (uint64_t)(rte_get_tsc_hz() / CYC_PER_MHZ));
>   #endif
>   }
>   

-- 

Lukasz Wojciechowski
Principal Software Engineer

Samsung R&D Institute Poland
Samsung Electronics
Office +48 22 377 88 25
l.wojciechow at partner.samsung.com



More information about the dev mailing list