patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] test/ring_perf: fix error statistics in bulk enq/dequeue
@ 2020-06-08  5:49 Feifei Wang
  2020-07-13 15:22 ` Olivier Matz
  0 siblings, 1 reply; 5+ messages in thread
From: Feifei Wang @ 2020-06-08  5:49 UTC (permalink / raw)
  To: Honnappa Nagarahalli, Konstantin Ananyev, Ruifeng Wang,
	Olivier Matz, Ola Liljedahl, Dharmik Thakkar
  Cc: dev, nd, Feifei Wang, stable

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(&param, 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


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [dpdk-stable] [PATCH] test/ring_perf: fix error statistics in bulk enq/dequeue
@ 2020-06-08  5:58 Feifei Wang
  2020-06-09 11:25 ` Ananyev, Konstantin
  0 siblings, 1 reply; 5+ messages in thread
From: Feifei Wang @ 2020-06-08  5:58 UTC (permalink / raw)
  To: Honnappa Nagarahalli, Konstantin Ananyev, Ola Liljedahl,
	Joyce Kong, Gavin Hu, Ruifeng Wang
  Cc: dev, nd, Feifei Wang, stable

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(&param, 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-07-13 15:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-08  5:49 [dpdk-stable] [PATCH] test/ring_perf: fix error statistics in bulk enq/dequeue Feifei Wang
2020-07-13 15:22 ` Olivier Matz
2020-06-08  5:58 Feifei Wang
2020-06-09 11:25 ` Ananyev, Konstantin
2020-07-01  8:42   ` David Marchand

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git