From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 84C38A05D3 for ; Thu, 25 Apr 2019 17:41:18 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7C2341B5C4; Thu, 25 Apr 2019 17:41:18 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id B66D81B5C4 for ; Thu, 25 Apr 2019 17:41:16 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2518E356F2; Thu, 25 Apr 2019 15:41:16 +0000 (UTC) Received: from rh.redhat.com (unknown [10.36.116.255]) by smtp.corp.redhat.com (Postfix) with ESMTP id 661245D9CD; Thu, 25 Apr 2019 15:41:12 +0000 (UTC) From: Kevin Traynor To: David Marchand Cc: Andrew Rybchenko , Maxime Coquelin , Ferruh Yigit , dpdk stable Date: Thu, 25 Apr 2019 16:39:55 +0100 Message-Id: <20190425154037.28778-20-ktraynor@redhat.com> In-Reply-To: <20190425154037.28778-1-ktraynor@redhat.com> References: <20190425154037.28778-1-ktraynor@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 25 Apr 2019 15:41:16 +0000 (UTC) Subject: [dpdk-stable] patch 'app/testpmd: extend forwarding statistics to 64 bits' has been queued to LTS release 18.11.2 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/01/19. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches can be viewed on the 18.11 branch at: https://github.com/kevintraynor/dpdk-stable-queue.git Thanks. Kevin Traynor --- >From aa28996c41d4e666a2ae48685c632ecd9f0a1819 Mon Sep 17 00:00:00 2001 From: David Marchand Date: Mon, 25 Mar 2019 09:51:44 +0100 Subject: [PATCH] app/testpmd: extend forwarding statistics to 64 bits [ upstream commit c185d42cb417bc4a51e9aa74f1d338fac2f1d1f0 ] fwd engine statistics are stored as unsigned int (32bits) and can wrap quite quickly. Example: sending 7mpps for 614s gives us 4298000000 packets => 0x1002e4680 larger than 32bits. testpmd reports forwarding stats as: RX-packets: 3500381 TX-packets: 3500010 TX-dropped: 371 While the port and accumulated stats are reported as 64bits: RX-packets: 4298467677 RX-dropped: 0 RX-total: 4298467677 TX-packets: 4298467306 TX-dropped: 371 TX-total: 4298467677 Fixes: af75078fece3 ("first public release") Signed-off-by: David Marchand Reviewed-by: Andrew Rybchenko Reviewed-by: Maxime Coquelin Reviewed-by: Ferruh Yigit --- app/test-pmd/testpmd.c | 49 ++++++++++++++---------------------------- app/test-pmd/testpmd.h | 12 +++++------ 2 files changed, 22 insertions(+), 39 deletions(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index c6c46cb67..d62c1594d 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1472,11 +1472,13 @@ fwd_stream_stats_display(streamid_t stream_id) fwd_top_stats_border, fs->rx_port, fs->rx_queue, fs->tx_port, fs->tx_queue, fwd_top_stats_border); - printf(" RX-packets: %-14u TX-packets: %-14u TX-dropped: %-14u", + printf(" RX-packets: %-14"PRIu64" TX-packets: %-14"PRIu64 + " TX-dropped: %-14"PRIu64, fs->rx_packets, fs->tx_packets, fs->fwd_dropped); /* if checksum mode */ if (cur_fwd_eng == &csum_fwd_engine) { - printf(" RX- bad IP checksum: %-14u Rx- bad L4 checksum: " - "%-14u Rx- bad outer L4 checksum: %-14u\n", + printf(" RX- bad IP checksum: %-14"PRIu64 + " Rx- bad L4 checksum: %-14"PRIu64 + " Rx- bad outer L4 checksum: %-14"PRIu64"\n", fs->rx_bad_ip_csum, fs->rx_bad_l4_csum, fs->rx_bad_outer_l4_csum); @@ -1758,7 +1760,4 @@ stop_packet_forwarding(void) uint64_t total_tx_dropped; uint64_t total_rx_nombuf; - uint64_t tx_dropped; - uint64_t rx_bad_ip_csum; - uint64_t rx_bad_l4_csum; #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES uint64_t fwd_cycles; @@ -1787,36 +1786,20 @@ stop_packet_forwarding(void) #endif for (sm_id = 0; sm_id < cur_fwd_config.nb_fwd_streams; sm_id++) { + struct fwd_stream *fs = fwd_streams[sm_id]; + if (cur_fwd_config.nb_fwd_streams > cur_fwd_config.nb_fwd_ports) { fwd_stream_stats_display(sm_id); - ports[fwd_streams[sm_id]->tx_port].tx_stream = NULL; - ports[fwd_streams[sm_id]->rx_port].rx_stream = NULL; + ports[fs->tx_port].tx_stream = NULL; + ports[fs->rx_port].rx_stream = NULL; } else { - ports[fwd_streams[sm_id]->tx_port].tx_stream = - fwd_streams[sm_id]; - ports[fwd_streams[sm_id]->rx_port].rx_stream = - fwd_streams[sm_id]; + ports[fs->tx_port].tx_stream = fs; + ports[fs->rx_port].rx_stream = fs; } - tx_dropped = ports[fwd_streams[sm_id]->tx_port].tx_dropped; - tx_dropped = (uint64_t) (tx_dropped + - fwd_streams[sm_id]->fwd_dropped); - ports[fwd_streams[sm_id]->tx_port].tx_dropped = tx_dropped; - - rx_bad_ip_csum = - ports[fwd_streams[sm_id]->rx_port].rx_bad_ip_csum; - rx_bad_ip_csum = (uint64_t) (rx_bad_ip_csum + - fwd_streams[sm_id]->rx_bad_ip_csum); - ports[fwd_streams[sm_id]->rx_port].rx_bad_ip_csum = - rx_bad_ip_csum; - - rx_bad_l4_csum = - ports[fwd_streams[sm_id]->rx_port].rx_bad_l4_csum; - rx_bad_l4_csum = (uint64_t) (rx_bad_l4_csum + - fwd_streams[sm_id]->rx_bad_l4_csum); - ports[fwd_streams[sm_id]->rx_port].rx_bad_l4_csum = - rx_bad_l4_csum; - - ports[fwd_streams[sm_id]->rx_port].rx_bad_outer_l4_csum += - fwd_streams[sm_id]->rx_bad_outer_l4_csum; + ports[fs->tx_port].tx_dropped += fs->fwd_dropped; + ports[fs->rx_port].rx_bad_ip_csum += fs->rx_bad_ip_csum; + ports[fs->rx_port].rx_bad_l4_csum += fs->rx_bad_l4_csum; + ports[fs->rx_port].rx_bad_outer_l4_csum += + fs->rx_bad_outer_l4_csum; #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index ed8f7b0b2..37d61b804 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -120,10 +120,10 @@ struct fwd_stream { /* "read-write" results */ - unsigned int rx_packets; /**< received packets */ - unsigned int tx_packets; /**< received packets transmitted */ - unsigned int fwd_dropped; /**< received packets not forwarded */ - unsigned int rx_bad_ip_csum ; /**< received packets has bad ip checksum */ - unsigned int rx_bad_l4_csum ; /**< received packets has bad l4 checksum */ - unsigned int rx_bad_outer_l4_csum; + uint64_t rx_packets; /**< received packets */ + uint64_t tx_packets; /**< received packets transmitted */ + uint64_t fwd_dropped; /**< received packets not forwarded */ + uint64_t rx_bad_ip_csum ; /**< received packets has bad ip checksum */ + uint64_t rx_bad_l4_csum ; /**< received packets has bad l4 checksum */ + uint64_t rx_bad_outer_l4_csum; /**< received packets has bad outer l4 checksum */ unsigned int gro_times; /**< GRO operation times */ -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-04-25 16:37:47.620535696 +0100 +++ 0020-app-testpmd-extend-forwarding-statistics-to-64-bits.patch 2019-04-25 16:37:46.710295750 +0100 @@ -1 +1 @@ -From c185d42cb417bc4a51e9aa74f1d338fac2f1d1f0 Mon Sep 17 00:00:00 2001 +From aa28996c41d4e666a2ae48685c632ecd9f0a1819 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c185d42cb417bc4a51e9aa74f1d338fac2f1d1f0 ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -31 +32 @@ -index 771584455..05a3dce49 100644 +index c6c46cb67..d62c1594d 100644 @@ -34 +35 @@ -@@ -1460,11 +1460,13 @@ fwd_stream_stats_display(streamid_t stream_id) +@@ -1472,11 +1472,13 @@ fwd_stream_stats_display(streamid_t stream_id) @@ -51 +52 @@ -@@ -1746,7 +1748,4 @@ stop_packet_forwarding(void) +@@ -1758,7 +1760,4 @@ stop_packet_forwarding(void) @@ -59 +60 @@ -@@ -1775,36 +1774,20 @@ stop_packet_forwarding(void) +@@ -1787,36 +1786,20 @@ stop_packet_forwarding(void) @@ -108 +109 @@ -index 85b791b6b..4f4a48ffa 100644 +index ed8f7b0b2..37d61b804 100644