[dpdk-dev] [PATCH v4 4/5] examples/bond: use lcore accessors

David Marchand david.marchand at redhat.com
Thu May 23 15:59:00 CEST 2019


From: Stephen Hemminger <stephen at networkplumber.org>

Referring to lcore_config directly is no longer recommended.
Also remove unnecessary assignment of slave_core_id.

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 examples/bond/main.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

---
Changelog since v3:
- updated title

diff --git a/examples/bond/main.c b/examples/bond/main.c
index ef86194..1b35d53 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -526,8 +526,9 @@ static void cmd_start_parsed(__attribute__((unused)) void *parsed_result,
 	int slave_core_id = rte_lcore_id();
 
 	rte_spinlock_trylock(&global_flag_stru_p->lock);
-	if (global_flag_stru_p->LcoreMainIsRunning == 0)	{
-		if (lcore_config[global_flag_stru_p->LcoreMainCore].state != WAIT)	{
+	if (global_flag_stru_p->LcoreMainIsRunning == 0) {
+		if (rte_eal_get_lcore_state(global_flag_stru_p->LcoreMainCore)
+		    != WAIT) {
 			rte_spinlock_unlock(&global_flag_stru_p->lock);
 			return;
 		}
@@ -760,7 +761,7 @@ static void prompt(__attribute__((unused)) void *arg1)
 int
 main(int argc, char *argv[])
 {
-	int ret;
+	int ret, slave_core_id;
 	uint16_t nb_ports, i;
 
 	/* init EAL */
@@ -792,13 +793,13 @@ static void prompt(__attribute__((unused)) void *arg1)
 	bond_port_init(mbuf_pool);
 
 	rte_spinlock_init(&global_flag_stru_p->lock);
-	int slave_core_id = rte_lcore_id();
 
 	/* check state of lcores */
 	RTE_LCORE_FOREACH_SLAVE(slave_core_id) {
-	if (lcore_config[slave_core_id].state != WAIT)
-		return -EBUSY;
+		if (rte_eal_get_lcore_state(slave_core_id) != WAIT)
+			return -EBUSY;
 	}
+
 	/* start lcore main on core != master_core - ARP response thread */
 	slave_core_id = rte_get_next_lcore(rte_lcore_id(), 1, 0);
 	if ((slave_core_id >= RTE_MAX_LCORE) || (slave_core_id == 0))
-- 
1.8.3.1



More information about the dev mailing list