From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 991AEA0FB6
	for <public@inbox.dpdk.org>; Wed, 22 May 2019 17:09:15 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 767B5569B;
	Wed, 22 May 2019 17:09:15 +0200 (CEST)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28])
 by dpdk.org (Postfix) with ESMTP id 432415589;
 Wed, 22 May 2019 17:09:13 +0200 (CEST)
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
 [10.5.11.22])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.redhat.com (Postfix) with ESMTPS id 744465946F;
 Wed, 22 May 2019 15:09:02 +0000 (UTC)
Received: from dmarchan.remote.csb (ovpn-204-124.brq.redhat.com
 [10.40.204.124])
 by smtp.corp.redhat.com (Postfix) with ESMTP id F1FB81001E82;
 Wed, 22 May 2019 15:08:55 +0000 (UTC)
From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, stephen@networkplumber.org,
 maxime.coquelin@redhat.com, Dharmik.Thakkar@arm.com, stable@dpdk.org,
 Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Date: Wed, 22 May 2019 17:06:57 +0200
Message-Id: <1558537617-27813-2-git-send-email-david.marchand@redhat.com>
In-Reply-To: <1558537617-27813-1-git-send-email-david.marchand@redhat.com>
References: <1557907020-1548-1-git-send-email-david.marchand@redhat.com>
 <1558537617-27813-1-git-send-email-david.marchand@redhat.com>
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16
 (mx1.redhat.com [10.5.110.39]); Wed, 22 May 2019 15:09:12 +0000 (UTC)
Subject: [dpdk-stable] [PATCH v2 2/2] test/rcu: use existing lcore API
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org
Sender: "stable" <stable-bounces@dpdk.org>

Prefer the existing apis rather than direct access lcore_config that is
going to disappear.

Fixes: b87089b0bb19 ("test/rcu: add API and functional tests")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 app/test/test_rcu_qsbr.c      | 22 ++++++++++------------
 app/test/test_rcu_qsbr_perf.c | 12 ++++--------
 2 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/app/test/test_rcu_qsbr.c b/app/test/test_rcu_qsbr.c
index ed6934a..92ab0c2 100644
--- a/app/test/test_rcu_qsbr.c
+++ b/app/test/test_rcu_qsbr.c
@@ -853,11 +853,10 @@
 	hash_data[0][6] = NULL;
 
 	writer_done = 1;
-	/* Wait until all readers have exited */
-	rte_eal_mp_wait_lcore();
-	/* Check return value from threads */
+
+	/* Wait and check return value from reader threads */
 	for (i = 0; i < 4; i++)
-		if (lcore_config[enabled_core_ids[i]].ret < 0)
+		if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
 			goto error;
 	rte_hash_free(h[0]);
 	rte_free(keys);
@@ -913,17 +912,16 @@
 		rte_eal_remote_launch(test_rcu_qsbr_writer,
 				      (void *)(uintptr_t)(i - (test_cores / 2)),
 					enabled_core_ids[i]);
-	/* Wait for writers to complete */
+	/* Wait and check return value from writer threads */
 	for (i = test_cores / 2; i < test_cores;  i++)
-		rte_eal_wait_lcore(enabled_core_ids[i]);
+		if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
+			goto error;
 
 	writer_done = 1;
-	/* Wait for readers to complete */
-	rte_eal_mp_wait_lcore();
 
-	/* Check return value from threads */
-	for (i = 0; i < test_cores; i++)
-		if (lcore_config[enabled_core_ids[i]].ret < 0)
+	/* Wait and check return value from reader threads */
+	for (i = 0; i < test_cores / 2; i++)
+		if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
 			goto error;
 
 	for (i = 0; i < num_cores / 4; i++)
@@ -935,7 +933,7 @@
 
 error:
 	writer_done = 1;
-	/* Wait until all readers have exited */
+	/* Wait until all readers and writers have exited */
 	rte_eal_mp_wait_lcore();
 
 	for (i = 0; i < num_cores / 4; i++)
diff --git a/app/test/test_rcu_qsbr_perf.c b/app/test/test_rcu_qsbr_perf.c
index 16a43f8..6b1912c 100644
--- a/app/test/test_rcu_qsbr_perf.c
+++ b/app/test/test_rcu_qsbr_perf.c
@@ -473,11 +473,9 @@
 
 	writer_done = 1;
 
-	/* Wait until all readers have exited */
-	rte_eal_mp_wait_lcore();
-	/* Check return value from threads */
+	/* Wait and check return value from reader threads */
 	for (i = 0; i < num_cores; i++)
-		if (lcore_config[enabled_core_ids[i]].ret < 0)
+		if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
 			goto error;
 	rte_hash_free(h[0]);
 	rte_free(keys);
@@ -587,11 +585,9 @@
 	rte_atomic64_add(&checks, i);
 
 	writer_done = 1;
-	/* Wait until all readers have exited */
-	rte_eal_mp_wait_lcore();
-	/* Check return value from threads */
+	/* Wait and check return value from reader threads */
 	for (i = 0; i < num_cores; i++)
-		if (lcore_config[enabled_core_ids[i]].ret < 0)
+		if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
 			goto error;
 	rte_hash_free(h[0]);
 	rte_free(keys);
-- 
1.8.3.1