[dpdk-dev] test: fix mempool perf test enq_count wraparound of 32-bit uint

Message ID 1464267068-56805-1-git-send-email-david.hunt@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Hunt, David May 26, 2016, 12:51 p.m. UTC
recent CPU's can easily wrap around a 32-bit unsigned int in
the mempool perf test. Increase to a 64-bit uint.

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 app/test/test_mempool_perf.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

Bruce Richardson May 26, 2016, 1:48 p.m. UTC | #1
On Thu, May 26, 2016 at 01:51:08PM +0100, David Hunt wrote:
> recent CPU's can easily wrap around a 32-bit unsigned int in
> the mempool perf test. Increase to a 64-bit uint.
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> ---
>  app/test/test_mempool_perf.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/app/test/test_mempool_perf.c b/app/test/test_mempool_perf.c
> index cdc02a0..2f48545 100644
> --- a/app/test/test_mempool_perf.c
> +++ b/app/test/test_mempool_perf.c
> @@ -110,7 +110,7 @@ static unsigned n_keep;
>  
>  /* number of enqueues / dequeues */
>  struct mempool_test_stats {
> -	unsigned enq_count;
> +	uint64_t enq_count;
>  } __rte_cache_aligned;
>  
>  static struct mempool_test_stats stats[RTE_MAX_LCORE];
> @@ -189,7 +189,7 @@ static int
>  launch_cores(unsigned cores)
>  {
>  	unsigned lcore_id;
> -	unsigned rate;
> +	uint64_t rate;
>  	int ret;
>  	unsigned cores_save = cores;
>  
> @@ -238,7 +238,7 @@ launch_cores(unsigned cores)
>  	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++)
>  		rate += (stats[lcore_id].enq_count / TIME_S);
>  
> -	printf("rate_persec=%u\n", rate);
> +	printf("rate_persec=%lu\n", rate);
Use PRIu64 instead of %lu, as %lu is only 32-bit on 32-bit systems.

/Bruce
  

Patch

diff --git a/app/test/test_mempool_perf.c b/app/test/test_mempool_perf.c
index cdc02a0..2f48545 100644
--- a/app/test/test_mempool_perf.c
+++ b/app/test/test_mempool_perf.c
@@ -110,7 +110,7 @@  static unsigned n_keep;
 
 /* number of enqueues / dequeues */
 struct mempool_test_stats {
-	unsigned enq_count;
+	uint64_t enq_count;
 } __rte_cache_aligned;
 
 static struct mempool_test_stats stats[RTE_MAX_LCORE];
@@ -189,7 +189,7 @@  static int
 launch_cores(unsigned cores)
 {
 	unsigned lcore_id;
-	unsigned rate;
+	uint64_t rate;
 	int ret;
 	unsigned cores_save = cores;
 
@@ -238,7 +238,7 @@  launch_cores(unsigned cores)
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++)
 		rate += (stats[lcore_id].enq_count / TIME_S);
 
-	printf("rate_persec=%u\n", rate);
+	printf("rate_persec=%lu\n", rate);
 
 	return 0;
 }