From: Feifei Wang Date: Mon, 8 Jun 2020 05:58:46 +0000 (+0800) Subject: test/ring: fix statistics in bulk enq/dequeue X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=50959a899374cec9852eea3cd7dd638ee2d560ec test/ring: fix statistics in bulk enq/dequeue 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@dpdk.org Signed-off-by: Feifei Wang Reviewed-by: Ruifeng Wang Reviewed-by: Phil Yang Acked-by: Konstantin Ananyev --- diff --git a/app/test/test_ring_perf.c b/app/test/test_ring_perf.c index ee21faf713..ac9bf5608d 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;