patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] app/testpmd: fix CPU cycles per pkt stats on transmit modes
@ 2020-06-18 14:50 Phil Yang
  2020-06-18 19:28 ` Honnappa Nagarahalli
  2020-06-19  4:08 ` [dpdk-stable] [PATCH v2] " Phil Yang
  0 siblings, 2 replies; 8+ messages in thread
From: Phil Yang @ 2020-06-18 14:50 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, maxime.coquelin, Honnappa.Nagarahalli,
	ruifeng.wang, nd, stable, david.marchand

In txonly and flowgen forwarding mode, calculating CPU per packets with
total received packets is not accurate. Use total transmitted packets
for these cases.

The error output under txonly mode:
testpmd> show fwd stats all

---------------------- Forward statistics for port 0  -------------------
RX-packets: 0              RX-dropped: 0             RX-total: 0
TX-packets: 3582891927     TX-dropped: 401965824     TX-total: 3984857751
TX-bursts : 86381636 [0% of 0 pkts + 85% of 64 pkts + 15% of 32 pkts]
-------------------------------------------------------------------------

---------------------- Forward statistics for port 1  -------------------
RX-packets: 1              RX-dropped: 394351696     RX-total: 394351697
TX-packets: 3582890632     TX-dropped: 401965568     TX-total: 3984856200
TX-bursts : 86381679 [0% of 0 pkts + 85% of 64 pkts + 15% of 32 pkts]
-------------------------------------------------------------------------

+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++
RX-packets: 1              RX-dropped: 394351696     RX-total: 394351697
TX-packets: 7165782559     TX-dropped: 803931392     TX-total: 7969713951
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

CPU cycles/packet=54984156291.00 \
(total cycles=54984156291 / total RX packets=1) at 200 MHz Clock

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Fixes: 53324971a14e ("app/testpmd: display/clear forwarding stats on demand")
Cc: stable@dpdk.org
Cc: david.marchand@redhat.com
---
 app/test-pmd/testpmd.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 4989d22..798b8e0 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1961,13 +1961,23 @@ fwd_stats_display(void)
 	       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=%.2F (total cycles="
-		       "%"PRIu64" / total RX packets=%"PRIu64") at %"PRIu64
-		       " MHz Clock\n",
-		       (double) fwd_cycles / total_recv,
-		       fwd_cycles, total_recv,
-		       (uint64_t)(rte_get_tsc_hz() / CYC_PER_MHZ));
+	if (total_recv > 0 || total_xmit > 0) {
+		if (strcmp(cur_fwd_eng->fwd_mode_name, "txonly") == 0 ||
+		    strcmp(cur_fwd_eng->fwd_mode_name, "flowgen") == 0)
+			printf("\n  CPU cycles/packet=%.2F (total cycles="
+			     "%"PRIu64" / total %s packets=%"PRIu64") at %"
+			     PRIu64" MHz Clock\n",
+			     (double) fwd_cycles / total_xmit,
+			     fwd_cycles, cur_fwd_eng->fwd_mode_name, total_xmit,
+			     (uint64_t)(rte_get_tsc_hz() / CYC_PER_MHZ));
+		else
+			printf("\n  CPU cycles/packet=%.2F (total cycles="
+			    "%"PRIu64" / total %s packets=%"PRIu64") at %"
+			    PRIu64" MHz Clock\n",
+			    (double) fwd_cycles / total_recv,
+			    fwd_cycles, cur_fwd_eng->fwd_mode_name, total_recv,
+			    (uint64_t)(rte_get_tsc_hz() / CYC_PER_MHZ));
+	}
 #endif
 }
 
-- 
2.7.4


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-07-10 17:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-18 14:50 [dpdk-stable] [PATCH] app/testpmd: fix CPU cycles per pkt stats on transmit modes Phil Yang
2020-06-18 19:28 ` Honnappa Nagarahalli
2020-06-19  3:54   ` Phil Yang
2020-06-19  4:08 ` [dpdk-stable] [PATCH v2] " Phil Yang
2020-06-22  3:39   ` Honnappa Nagarahalli
2020-06-22  8:48     ` Phil Yang
2020-06-22  9:04   ` [dpdk-stable] [PATCH v3] " Phil Yang
2020-07-10 17:14     ` Ferruh Yigit

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git