[dpdk-dev] app/testpmd: fix burst stat reporting

Message ID 20180504201209.2964-1-dashel@microsoft.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Daniel Shelepov May 4, 2018, 8:12 p.m. UTC
  When RTE_TEST_PMD_RECORD_BURST_STATS is enabled, testpmd collects
burst statistics and includes them in the port stats report.  The
summary should include top 2 most frequent burst sizes, but there is a
bug in finding the top-2.  During the scan of burst size counts, the
top-2 can change only if top-1 also changes.

Added logic to update the top-2 if current burst size is larger than
existing top-2, but smaller than existing top-1.

Signed-off-by: Daniel Shelepov <dashel@microsoft.com>
---
 app/test-pmd/testpmd.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Iremonger, Bernard May 11, 2018, 11:18 a.m. UTC | #1
Hi Daniel,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Daniel Shelepov
> Sent: Friday, May 4, 2018 9:12 PM
> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>
> Cc: dev@dpdk.org; Daniel Shelepov <dashel@microsoft.com>
> Subject: [dpdk-dev] [PATCH] app/testpmd: fix burst stat reporting
> 
> When RTE_TEST_PMD_RECORD_BURST_STATS is enabled, testpmd collects
> burst statistics and includes them in the port stats report.  The summary
> should include top 2 most frequent burst sizes, but there is a bug in finding
> the top-2.  During the scan of burst size counts, the
> top-2 can change only if top-1 also changes.
> 
> Added logic to update the top-2 if current burst size is larger than existing
> top-2, but smaller than existing top-1.

Could you add a fixes line.

> 
> Signed-off-by: Daniel Shelepov <dashel@microsoft.com>
> ---
>  app/test-pmd/testpmd.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> db23f23e5..cc38e51fc 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -927,6 +927,9 @@ pkt_burst_stats_display(const char *rx_tx, struct
> pkt_burst_stats *pbs)
>  			pktnb_stats[1] = pktnb_stats[0];
>  			burst_stats[0] = nb_burst;
>  			pktnb_stats[0] = nb_pkt;
> +		} else if (nb_burst > burst_stats[1]) {
> +			burst_stats[1] = nb_burst;
> +			pktnb_stats[1] = nb_pkt;
>  		}
>  	}
>  	if (total_burst == 0)
> --
> 2.15.1.gvfs.2.39.g03d366a

Regards,

Bernard
  

Patch

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index db23f23e5..cc38e51fc 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -927,6 +927,9 @@  pkt_burst_stats_display(const char *rx_tx, struct pkt_burst_stats *pbs)
 			pktnb_stats[1] = pktnb_stats[0];
 			burst_stats[0] = nb_burst;
 			pktnb_stats[0] = nb_pkt;
+		} else if (nb_burst > burst_stats[1]) {
+			burst_stats[1] = nb_burst;
+			pktnb_stats[1] = nb_pkt;
 		}
 	}
 	if (total_burst == 0)