app/testpmd: print clock with CPU cycles per packet
authorDharmik Thakkar <dharmik.thakkar@arm.com>
Fri, 8 May 2020 22:38:25 +0000 (22:38 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 18 May 2020 18:35:57 +0000 (20:35 +0200)
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@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
app/test-pmd/testpmd.c

index 9cbe6e9..b112f83 100644 (file)
@@ -1960,11 +1960,14 @@ 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 %"PRIu64
+                      " MHz Clock\n",
                       (unsigned int)(fwd_cycles / total_recv),
-                      fwd_cycles, total_recv);
+                      fwd_cycles, total_recv,
+                      (uint64_t)(rte_get_tsc_hz() / CYC_PER_MHZ));
 #endif
 }