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 <feifei.wang2@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Phil Yang <phil.yang@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; -- 2.17.1
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 <feifei.wang2@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Phil Yang <phil.yang@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; -- 2.17.1
> > 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 <feifei.wang2@arm.com> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> > Reviewed-by: Phil Yang <phil.yang@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@intel.com> > 2.17.1
On Tue, Jun 9, 2020 at 1:25 PM Ananyev, Konstantin
<konstantin.ananyev@intel.com> wrote:
> > 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 <feifei.wang2@arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > Reviewed-by: Phil Yang <phil.yang@arm.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Applied, thanks.
--
David Marchand
On Mon, Jun 08, 2020 at 01:49:38PM +0800, Feifei Wang wrote:
> 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 <feifei.wang2@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>