[dpdk-dev] [PATCH] test: fix mempool perf test enq_count wraparound of 32-bit uint
Bruce Richardson
bruce.richardson at intel.com
Thu May 26 15:48:49 CEST 2016
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 at 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
More information about the dev
mailing list