[dpdk-dev] [PATCH] test/ring_perf: fix error statistics in bulk enq/dequeue
Ananyev, Konstantin
konstantin.ananyev at intel.com
Tue Jun 9 13:25:13 CEST 2020
>
> In size 32 bulk ring enq/dequeue performance test, the "Total count"
> statistics is incorrect. For example, running the test on lcore 25 and
> lcore 26, the output is as follows:
>
> The test command:
> $sudo ./arm64-armv8a-linuxapp-gcc/app/test -l 25-26
> RTE>>ring_perf_autotest
>
> Bulk enq/dequeue count on size 32
> Core [25] count = 288268
> Core [26] count = 288281
> Total count (size: 32): 1066323
>
> Fixed it by reset the counter at the beginning of each loop. The
> revised output is as follows:
>
> Bulk enq/dequeue count on size 32
> Core [25] count = 285643
> Core [26] count = 285688
> Total count (size: 32): 571331
>
> Fixes: 759cf9b5632c ("test/ring: enhance mp/mc coverage")
> Cc: stable at dpdk.org
>
> Signed-off-by: Feifei Wang <feifei.wang2 at arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
> Reviewed-by: Phil Yang <phil.yang at arm.com>
> ---
> app/test/test_ring_perf.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/app/test/test_ring_perf.c b/app/test/test_ring_perf.c
> index ee21faf71..ac9bf5608 100644
> --- a/app/test/test_ring_perf.c
> +++ b/app/test/test_ring_perf.c
> @@ -380,7 +380,7 @@ load_loop_fn_16B(void *p)
> static int
> run_on_all_cores(struct rte_ring *r, const int esize)
> {
> - uint64_t total = 0;
> + uint64_t total;
> struct thread_params param;
> lcore_function_t *lcore_f;
> unsigned int i, c;
> @@ -392,6 +392,7 @@ run_on_all_cores(struct rte_ring *r, const int esize)
>
> memset(¶m, 0, sizeof(struct thread_params));
> for (i = 0; i < RTE_DIM(bulk_sizes); i++) {
> + total = 0;
> printf("\nBulk enq/dequeue count on size %u\n", bulk_sizes[i]);
> param.size = bulk_sizes[i];
> param.r = r;
> --
Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> 2.17.1
More information about the dev
mailing list