DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/5] prefix lcore role enum values
@ 2026-06-17 10:28 Huisong Li
  2026-06-17 10:28 ` [PATCH v1 1/5] eal: " Huisong Li
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Huisong Li @ 2026-06-17 10:28 UTC (permalink / raw)
  To: thomas; +Cc: mb, andrew.rybchenko, dev, zhanjie9, lihuisong

Add the RTE_LCORE_ prefix to the lcore role enum values in rte_lcore_role_t
to follow DPDK naming conventions.

- ROLE_RTE      -> RTE_LCORE_ROLE_RTE
- ROLE_OFF      -> RTE_LCORE_ROLE_OFF
- ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
- ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL

Old names are kept as macros aliasing to the new names to preserve
backward compatibility.

Huisong Li (5):
  eal: prefix lcore role enum values
  eal: use new lcore role enum names
  graph: use new lcore role enum names
  net/softnic: use new lcore role enum names
  test: use new lcore role enum names

 app/test/test_lcores.c                       |  2 +-
 app/test/test_mempool.c                      |  2 +-
 drivers/net/softnic/rte_eth_softnic_thread.c |  4 +--
 lib/eal/common/eal_common_lcore.c            | 34 ++++++++++----------
 lib/eal/common/eal_common_options.c          | 28 ++++++++--------
 lib/eal/common/eal_private.h                 |  4 +--
 lib/eal/common/rte_service.c                 | 12 +++----
 lib/eal/include/rte_lcore.h                  | 17 +++++++---
 lib/graph/graph.c                            |  2 +-
 9 files changed, 56 insertions(+), 49 deletions(-)

-- 
2.33.0


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

* [PATCH v1 1/5] eal: prefix lcore role enum values
  2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
@ 2026-06-17 10:28 ` Huisong Li
  2026-06-17 10:28 ` [PATCH v1 2/5] eal: use new lcore role enum names Huisong Li
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Huisong Li @ 2026-06-17 10:28 UTC (permalink / raw)
  To: thomas; +Cc: mb, andrew.rybchenko, dev, zhanjie9, lihuisong

Add the RTE_LCORE_ prefix to the lcore role enum values in
rte_lcore_role_t to follow DPDK naming conventions.

- ROLE_RTE      -> RTE_LCORE_ROLE_RTE
- ROLE_OFF      -> RTE_LCORE_ROLE_OFF
- ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
- ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL

Old names are kept as macros aliasing to the new names to preserve
backward compatibility.

Suggested-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 lib/eal/include/rte_lcore.h | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/lib/eal/include/rte_lcore.h b/lib/eal/include/rte_lcore.h
index 10f965b4f0..2fc4d0b15b 100644
--- a/lib/eal/include/rte_lcore.h
+++ b/lib/eal/include/rte_lcore.h
@@ -31,12 +31,18 @@ RTE_DECLARE_PER_LCORE(unsigned, _lcore_id);  /**< Per thread "lcore id". */
  * The lcore role (used in RTE or not).
  */
 enum rte_lcore_role_t {
-	ROLE_RTE,
-	ROLE_OFF,
-	ROLE_SERVICE,
-	ROLE_NON_EAL,
+	RTE_LCORE_ROLE_RTE,
+	RTE_LCORE_ROLE_OFF,
+	RTE_LCORE_ROLE_SERVICE,
+	RTE_LCORE_ROLE_NON_EAL,
 };
 
+/* Old lcore role aliases for backward compatibility. */
+#define ROLE_RTE	RTE_LCORE_ROLE_RTE
+#define ROLE_OFF	RTE_LCORE_ROLE_OFF
+#define ROLE_SERVICE	RTE_LCORE_ROLE_SERVICE
+#define ROLE_NON_EAL	RTE_LCORE_ROLE_NON_EAL
+
 /**
  * Get a lcore's role.
  *
@@ -308,7 +314,8 @@ rte_lcore_callback_unregister(void *handle);
 typedef int (*rte_lcore_iterate_cb)(unsigned int lcore_id, void *arg);
 
 /**
- * Iterate on all active lcores (ROLE_RTE, ROLE_SERVICE and ROLE_NON_EAL).
+ * Iterate on all active lcores (RTE_LCORE_ROLE_RTE, RTE_LCORE_ROLE_SERVICE
+ * and RTE_LCORE_ROLE_NON_EAL).
  * No modification on the lcore states is allowed in the callback.
  *
  * Note: as opposed to init/uninit callbacks, iteration callbacks can be
-- 
2.33.0


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

* [PATCH v1 2/5] eal: use new lcore role enum names
  2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
  2026-06-17 10:28 ` [PATCH v1 1/5] eal: " Huisong Li
@ 2026-06-17 10:28 ` Huisong Li
  2026-06-17 10:28 ` [PATCH v1 3/5] graph: " Huisong Li
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Huisong Li @ 2026-06-17 10:28 UTC (permalink / raw)
  To: thomas; +Cc: mb, andrew.rybchenko, dev, zhanjie9, lihuisong

Replace old lcore role enum names with new RTE_LCORE_ prefixed names
in EAL common code.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 lib/eal/common/eal_common_lcore.c   | 34 ++++++++++++++---------------
 lib/eal/common/eal_common_options.c | 28 ++++++++++++------------
 lib/eal/common/eal_private.h        |  4 ++--
 lib/eal/common/rte_service.c        | 12 +++++-----
 4 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/lib/eal/common/eal_common_lcore.c b/lib/eal/common/eal_common_lcore.c
index 39411f9370..021687599b 100644
--- a/lib/eal/common/eal_common_lcore.c
+++ b/lib/eal/common/eal_common_lcore.c
@@ -76,7 +76,7 @@ rte_eal_lcore_role(unsigned int lcore_id)
 	struct rte_config *cfg = rte_eal_get_configuration();
 
 	if (lcore_id >= RTE_MAX_LCORE)
-		return ROLE_OFF;
+		return RTE_LCORE_ROLE_OFF;
 	return cfg->lcore_role[lcore_id];
 }
 
@@ -99,7 +99,7 @@ int rte_lcore_is_enabled(unsigned int lcore_id)
 
 	if (lcore_id >= RTE_MAX_LCORE)
 		return 0;
-	return cfg->lcore_role[lcore_id] == ROLE_RTE;
+	return cfg->lcore_role[lcore_id] == RTE_LCORE_ROLE_RTE;
 }
 
 RTE_EXPORT_SYMBOL(rte_get_next_lcore)
@@ -176,7 +176,7 @@ rte_eal_cpu_init(void)
 		lcore_to_socket_id[lcore_id] = socket_id;
 
 		if (eal_cpu_detected(lcore_id) == 0) {
-			config->lcore_role[lcore_id] = ROLE_OFF;
+			config->lcore_role[lcore_id] = RTE_LCORE_ROLE_OFF;
 			lcore_config[lcore_id].core_index = -1;
 			continue;
 		}
@@ -185,8 +185,8 @@ rte_eal_cpu_init(void)
 		CPU_SET(lcore_id, &lcore_config[lcore_id].cpuset);
 
 		/* By default, each detected core is enabled */
-		config->lcore_role[lcore_id] = ROLE_RTE;
-		lcore_config[lcore_id].core_role = ROLE_RTE;
+		config->lcore_role[lcore_id] = RTE_LCORE_ROLE_RTE;
+		lcore_config[lcore_id].core_role = RTE_LCORE_ROLE_RTE;
 		lcore_config[lcore_id].core_id = eal_cpu_core_id(lcore_id);
 		lcore_config[lcore_id].numa_id = socket_id;
 		EAL_LOG(DEBUG, "Detected lcore %u as "
@@ -314,7 +314,7 @@ rte_lcore_callback_register(const char *name, rte_lcore_init_cb init,
 	if (callback->init == NULL)
 		goto no_init;
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-		if (cfg->lcore_role[lcore_id] == ROLE_OFF)
+		if (cfg->lcore_role[lcore_id] == RTE_LCORE_ROLE_OFF)
 			continue;
 		if (callback_init(callback, lcore_id) == 0)
 			continue;
@@ -322,7 +322,7 @@ rte_lcore_callback_register(const char *name, rte_lcore_init_cb init,
 		 * previous lcore.
 		 */
 		while (lcore_id-- != 0) {
-			if (cfg->lcore_role[lcore_id] == ROLE_OFF)
+			if (cfg->lcore_role[lcore_id] == RTE_LCORE_ROLE_OFF)
 				continue;
 			callback_uninit(callback, lcore_id);
 		}
@@ -354,7 +354,7 @@ rte_lcore_callback_unregister(void *handle)
 	if (callback->uninit == NULL)
 		goto no_uninit;
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-		if (cfg->lcore_role[lcore_id] == ROLE_OFF)
+		if (cfg->lcore_role[lcore_id] == RTE_LCORE_ROLE_OFF)
 			continue;
 		callback_uninit(callback, lcore_id);
 	}
@@ -376,9 +376,9 @@ eal_lcore_non_eal_allocate(void)
 
 	rte_rwlock_write_lock(&lcore_lock);
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-		if (cfg->lcore_role[lcore_id] != ROLE_OFF)
+		if (cfg->lcore_role[lcore_id] != RTE_LCORE_ROLE_OFF)
 			continue;
-		cfg->lcore_role[lcore_id] = ROLE_NON_EAL;
+		cfg->lcore_role[lcore_id] = RTE_LCORE_ROLE_NON_EAL;
 		cfg->lcore_count++;
 		break;
 	}
@@ -399,7 +399,7 @@ eal_lcore_non_eal_allocate(void)
 		}
 		EAL_LOG(DEBUG, "Initialization refused for lcore %u.",
 			lcore_id);
-		cfg->lcore_role[lcore_id] = ROLE_OFF;
+		cfg->lcore_role[lcore_id] = RTE_LCORE_ROLE_OFF;
 		cfg->lcore_count--;
 		lcore_id = RTE_MAX_LCORE;
 		goto out;
@@ -416,11 +416,11 @@ eal_lcore_non_eal_release(unsigned int lcore_id)
 	struct lcore_callback *callback;
 
 	rte_rwlock_write_lock(&lcore_lock);
-	if (cfg->lcore_role[lcore_id] != ROLE_NON_EAL)
+	if (cfg->lcore_role[lcore_id] != RTE_LCORE_ROLE_NON_EAL)
 		goto out;
 	TAILQ_FOREACH(callback, &lcore_callbacks, next)
 		callback_uninit(callback, lcore_id);
-	cfg->lcore_role[lcore_id] = ROLE_OFF;
+	cfg->lcore_role[lcore_id] = RTE_LCORE_ROLE_OFF;
 	cfg->lcore_count--;
 out:
 	rte_rwlock_write_unlock(&lcore_lock);
@@ -436,7 +436,7 @@ rte_lcore_iterate(rte_lcore_iterate_cb cb, void *arg)
 
 	rte_rwlock_read_lock(&lcore_lock);
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-		if (cfg->lcore_role[lcore_id] == ROLE_OFF)
+		if (cfg->lcore_role[lcore_id] == RTE_LCORE_ROLE_OFF)
 			continue;
 		ret = cb(lcore_id, arg);
 		if (ret != 0)
@@ -450,11 +450,11 @@ static const char *
 lcore_role_str(enum rte_lcore_role_t role)
 {
 	switch (role) {
-	case ROLE_RTE:
+	case RTE_LCORE_ROLE_RTE:
 		return "RTE";
-	case ROLE_SERVICE:
+	case RTE_LCORE_ROLE_SERVICE:
 		return "SERVICE";
-	case ROLE_NON_EAL:
+	case RTE_LCORE_ROLE_NON_EAL:
 		return "NON_EAL";
 	default:
 		return "UNKNOWN";
diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_common_options.c
index 1049838d73..6dd748e37e 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -898,10 +898,10 @@ eal_parse_service_coremask(const char *coremask)
 					return -1;
 				}
 
-				if (cfg->lcore_role[idx] == ROLE_RTE)
+				if (cfg->lcore_role[idx] == RTE_LCORE_ROLE_RTE)
 					taken_lcore_count++;
 
-				lcore_config[idx].core_role = ROLE_SERVICE;
+				lcore_config[idx].core_role = RTE_LCORE_ROLE_SERVICE;
 				count++;
 			}
 		}
@@ -938,7 +938,7 @@ update_lcore_config(const rte_cpuset_t *cpuset, bool remap, uint16_t remap_base)
 
 	/* set everything to disabled first, then set up values */
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
-		cfg->lcore_role[i] = ROLE_OFF;
+		cfg->lcore_role[i] = RTE_LCORE_ROLE_OFF;
 		lcore_config[i].core_index = -1;
 	}
 
@@ -966,7 +966,7 @@ update_lcore_config(const rte_cpuset_t *cpuset, bool remap, uint16_t remap_base)
 				continue;
 			}
 
-			cfg->lcore_role[lcore_id] = ROLE_RTE;
+			cfg->lcore_role[lcore_id] = RTE_LCORE_ROLE_RTE;
 			lcore_config[lcore_id].core_index = count;
 			CPU_ZERO(&lcore_config[lcore_id].cpuset);
 			CPU_SET(i, &lcore_config[lcore_id].cpuset);
@@ -1138,12 +1138,12 @@ eal_parse_service_corelist(const char *corelist)
 			if (min == RTE_MAX_LCORE)
 				min = idx;
 			for (idx = min; idx <= max; idx++) {
-				if (cfg->lcore_role[idx] != ROLE_SERVICE) {
-					if (cfg->lcore_role[idx] == ROLE_RTE)
+				if (cfg->lcore_role[idx] != RTE_LCORE_ROLE_SERVICE) {
+					if (cfg->lcore_role[idx] == RTE_LCORE_ROLE_RTE)
 						taken_lcore_count++;
 
 					lcore_config[idx].core_role =
-							ROLE_SERVICE;
+							RTE_LCORE_ROLE_SERVICE;
 					count++;
 				}
 			}
@@ -1166,7 +1166,7 @@ eal_parse_service_corelist(const char *corelist)
 	rte_cpuset_t service_cpuset;
 	CPU_ZERO(&service_cpuset);
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
-		if (lcore_config[i].core_role == ROLE_SERVICE)
+		if (lcore_config[i].core_role == RTE_LCORE_ROLE_SERVICE)
 			CPU_SET(i, &service_cpuset);
 	}
 	if (CPU_COUNT(&service_cpuset) > 0) {
@@ -1195,12 +1195,12 @@ eal_parse_main_lcore(const char *arg)
 		return -1;
 
 	/* ensure main core is not used as service core */
-	if (lcore_config[cfg->main_lcore].core_role == ROLE_SERVICE) {
+	if (lcore_config[cfg->main_lcore].core_role == RTE_LCORE_ROLE_SERVICE) {
 		EAL_LOG(ERR, "Error: Main lcore is used as a service core");
 		return -1;
 	}
 	/* check that we have the core recorded in the core list */
-	if (cfg->lcore_role[cfg->main_lcore] != ROLE_RTE) {
+	if (cfg->lcore_role[cfg->main_lcore] != RTE_LCORE_ROLE_RTE) {
 		EAL_LOG(ERR, "Error: Main lcore is not enabled for DPDK");
 		return -1;
 	}
@@ -1389,7 +1389,7 @@ eal_parse_lcores(const char *lcores)
 
 	/* Reset lcore config */
 	for (idx = 0; idx < RTE_MAX_LCORE; idx++) {
-		cfg->lcore_role[idx] = ROLE_OFF;
+		cfg->lcore_role[idx] = RTE_LCORE_ROLE_OFF;
 		lcore_config[idx].core_index = -1;
 		CPU_ZERO(&lcore_config[idx].cpuset);
 	}
@@ -1451,9 +1451,9 @@ eal_parse_lcores(const char *lcores)
 				continue;
 			set_count--;
 
-			if (cfg->lcore_role[idx] != ROLE_RTE) {
+			if (cfg->lcore_role[idx] != RTE_LCORE_ROLE_RTE) {
 				lcore_config[idx].core_index = count;
-				cfg->lcore_role[idx] = ROLE_RTE;
+				cfg->lcore_role[idx] = RTE_LCORE_ROLE_RTE;
 				count++;
 			}
 
@@ -2432,7 +2432,7 @@ compute_ctrl_threads_cpuset(struct internal_config *internal_cfg)
 	unsigned int lcore_id;
 
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-		if (rte_lcore_has_role(lcore_id, ROLE_OFF))
+		if (rte_lcore_has_role(lcore_id, RTE_LCORE_ROLE_OFF))
 			continue;
 		RTE_CPU_OR(cpuset, cpuset, &lcore_config[lcore_id].cpuset);
 	}
diff --git a/lib/eal/common/eal_private.h b/lib/eal/common/eal_private.h
index 0c0544beaf..dff3565099 100644
--- a/lib/eal/common/eal_private.h
+++ b/lib/eal/common/eal_private.h
@@ -430,7 +430,7 @@ uint64_t get_tsc_freq_arch(void);
  * Allocate a free lcore to associate to a non-EAL thread.
  *
  * @return
- *   - the id of a lcore with role ROLE_NON_EAL on success.
+ *   - the id of a lcore with role RTE_LCORE_ROLE_NON_EAL on success.
  *   - RTE_MAX_LCORE if none was available or initializing was refused (see
  *     rte_lcore_callback_register).
  */
@@ -441,7 +441,7 @@ unsigned int eal_lcore_non_eal_allocate(void);
  * Counterpart of eal_lcore_non_eal_allocate().
  *
  * @param lcore_id
- *   The lcore with role ROLE_NON_EAL to release.
+ *   The lcore with role RTE_LCORE_ROLE_NON_EAL to release.
  */
 void eal_lcore_non_eal_release(unsigned int lcore_id);
 
diff --git a/lib/eal/common/rte_service.c b/lib/eal/common/rte_service.c
index d2ac9d3f14..5c3a350ae8 100644
--- a/lib/eal/common/rte_service.c
+++ b/lib/eal/common/rte_service.c
@@ -107,7 +107,7 @@ rte_service_init(void)
 	int i;
 	struct rte_config *cfg = rte_eal_get_configuration();
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
-		if (lcore_config[i].core_role == ROLE_SERVICE) {
+		if (lcore_config[i].core_role == RTE_LCORE_ROLE_SERVICE) {
 			if ((unsigned int)i == cfg->main_lcore)
 				continue;
 			rte_service_lcore_add(i);
@@ -718,7 +718,7 @@ set_lcore_state(uint32_t lcore, int32_t state)
 	lcore_config[lcore].core_role = state;
 
 	/* update per-lcore optimized state tracking */
-	cs->is_service_core = (state == ROLE_SERVICE);
+	cs->is_service_core = (state == RTE_LCORE_ROLE_SERVICE);
 
 	rte_eal_trace_service_lcore_state_change(lcore, state);
 }
@@ -734,7 +734,7 @@ rte_service_lcore_reset_all(void)
 
 		if (cs->is_service_core) {
 			rte_bitset_clear_all(cs->mapped_services, RTE_SERVICE_NUM_MAX);
-			set_lcore_state(i, ROLE_RTE);
+			set_lcore_state(i, RTE_LCORE_ROLE_RTE);
 			/* runstate act as guard variable Use
 			 * store-release memory order here to synchronize
 			 * with load-acquire in runstate read functions.
@@ -761,7 +761,7 @@ rte_service_lcore_add(uint32_t lcore)
 	if (cs->is_service_core)
 		return -EALREADY;
 
-	set_lcore_state(lcore, ROLE_SERVICE);
+	set_lcore_state(lcore, RTE_LCORE_ROLE_SERVICE);
 
 	/* ensure that after adding a core the mask and state are defaults */
 	rte_bitset_clear_all(cs->mapped_services, RTE_SERVICE_NUM_MAX);
@@ -793,7 +793,7 @@ rte_service_lcore_del(uint32_t lcore)
 			RUNSTATE_STOPPED)
 		return -EBUSY;
 
-	set_lcore_state(lcore, ROLE_RTE);
+	set_lcore_state(lcore, RTE_LCORE_ROLE_RTE);
 
 	rte_smp_wmb();
 	return 0;
@@ -1126,7 +1126,7 @@ rte_service_dump(FILE *f, uint32_t id)
 
 	fprintf(f, "Service Cores Summary\n");
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
-		if (lcore_config[i].core_role != ROLE_SERVICE)
+		if (lcore_config[i].core_role != RTE_LCORE_ROLE_SERVICE)
 			continue;
 
 		service_dump_calls_per_lcore(f, i);
-- 
2.33.0


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

* [PATCH v1 3/5] graph: use new lcore role enum names
  2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
  2026-06-17 10:28 ` [PATCH v1 1/5] eal: " Huisong Li
  2026-06-17 10:28 ` [PATCH v1 2/5] eal: use new lcore role enum names Huisong Li
@ 2026-06-17 10:28 ` Huisong Li
  2026-06-17 10:28 ` [PATCH v1 4/5] net/softnic: " Huisong Li
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Huisong Li @ 2026-06-17 10:28 UTC (permalink / raw)
  To: thomas; +Cc: mb, andrew.rybchenko, dev, zhanjie9, lihuisong

Replace old lcore role enum names with new RTE_LCORE_ prefixed names
in graph library.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 lib/graph/graph.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/graph/graph.c b/lib/graph/graph.c
index 5f8ada2185..8165a0a932 100644
--- a/lib/graph/graph.c
+++ b/lib/graph/graph.c
@@ -359,7 +359,7 @@ rte_graph_model_mcore_dispatch_core_bind(rte_graph_t id, int lcore)
 		goto fail;
 	}
 
-	if (rte_lcore_has_role(lcore, ROLE_OFF))
+	if (rte_lcore_has_role(lcore, RTE_LCORE_ROLE_OFF))
 		SET_ERR_JMP(ENOLINK, fail, "lcore %d is invalid", lcore);
 
 	STAILQ_FOREACH(graph, &graph_list, next)
-- 
2.33.0


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

* [PATCH v1 4/5] net/softnic: use new lcore role enum names
  2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
                   ` (2 preceding siblings ...)
  2026-06-17 10:28 ` [PATCH v1 3/5] graph: " Huisong Li
@ 2026-06-17 10:28 ` Huisong Li
  2026-06-17 10:28 ` [PATCH v1 5/5] test: " Huisong Li
  2026-06-17 11:48 ` [PATCH v1 0/5] prefix lcore role enum values Morten Brørup
  5 siblings, 0 replies; 12+ messages in thread
From: Huisong Li @ 2026-06-17 10:28 UTC (permalink / raw)
  To: thomas; +Cc: mb, andrew.rybchenko, dev, zhanjie9, lihuisong

Replace old lcore role enum names with new RTE_LCORE_ prefixed names
in softnic driver.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 drivers/net/softnic/rte_eth_softnic_thread.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/softnic/rte_eth_softnic_thread.c b/drivers/net/softnic/rte_eth_softnic_thread.c
index f72c836199..a6d47c8b33 100644
--- a/drivers/net/softnic/rte_eth_softnic_thread.c
+++ b/drivers/net/softnic/rte_eth_softnic_thread.c
@@ -98,9 +98,9 @@ thread_is_valid(struct pmd_internals *softnic, uint32_t thread_id)
 	if (thread_id == rte_get_main_lcore())
 		return 0; /* FALSE */
 
-	if (softnic->params.sc && rte_lcore_has_role(thread_id, ROLE_SERVICE))
+	if (softnic->params.sc && rte_lcore_has_role(thread_id, RTE_LCORE_ROLE_SERVICE))
 		return 1; /* TRUE */
-	if (!softnic->params.sc && rte_lcore_has_role(thread_id, ROLE_RTE))
+	if (!softnic->params.sc && rte_lcore_has_role(thread_id, RTE_LCORE_ROLE_RTE))
 		return 1; /* TRUE */
 
 	return 0; /* FALSE */
-- 
2.33.0


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

* [PATCH v1 5/5] test: use new lcore role enum names
  2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
                   ` (3 preceding siblings ...)
  2026-06-17 10:28 ` [PATCH v1 4/5] net/softnic: " Huisong Li
@ 2026-06-17 10:28 ` Huisong Li
  2026-06-17 11:48 ` [PATCH v1 0/5] prefix lcore role enum values Morten Brørup
  5 siblings, 0 replies; 12+ messages in thread
From: Huisong Li @ 2026-06-17 10:28 UTC (permalink / raw)
  To: thomas; +Cc: mb, andrew.rybchenko, dev, zhanjie9, lihuisong

Replace old lcore role enum names with new RTE_LCORE_ prefixed names
in test applications.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
---
 app/test/test_lcores.c  | 2 +-
 app/test/test_mempool.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test/test_lcores.c b/app/test/test_lcores.c
index 13842615d5..60354b3f7f 100644
--- a/app/test/test_lcores.c
+++ b/app/test/test_lcores.c
@@ -396,7 +396,7 @@ test_lcores(void)
 	unsigned int i;
 
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
-		if (!rte_lcore_has_role(i, ROLE_OFF))
+		if (!rte_lcore_has_role(i, RTE_LCORE_ROLE_OFF))
 			eal_threads_count++;
 	}
 	if (eal_threads_count == 0) {
diff --git a/app/test/test_mempool.c b/app/test/test_mempool.c
index e54249ce61..38f0b6e712 100644
--- a/app/test/test_mempool.c
+++ b/app/test/test_mempool.c
@@ -353,7 +353,7 @@ test_mempool_sp_sc(void)
 		ret = -1;
 		goto err;
 	}
-	if (rte_eal_lcore_role(lcore_next) != ROLE_RTE) {
+	if (rte_eal_lcore_role(lcore_next) != RTE_LCORE_ROLE_RTE) {
 		ret = -1;
 		goto err;
 	}
-- 
2.33.0


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

* RE: [PATCH v1 0/5] prefix lcore role enum values
  2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
                   ` (4 preceding siblings ...)
  2026-06-17 10:28 ` [PATCH v1 5/5] test: " Huisong Li
@ 2026-06-17 11:48 ` Morten Brørup
  2026-06-18 16:19   ` Thomas Monjalon
  2026-06-19  2:03   ` Stephen Hemminger
  5 siblings, 2 replies; 12+ messages in thread
From: Morten Brørup @ 2026-06-17 11:48 UTC (permalink / raw)
  To: Huisong Li, thomas; +Cc: andrew.rybchenko, dev, zhanjie9

> From: Huisong Li [mailto:lihuisong@huawei.com]
> Sent: Wednesday, 17 June 2026 12.28
> 
> Add the RTE_LCORE_ prefix to the lcore role enum values in
> rte_lcore_role_t
> to follow DPDK naming conventions.
> 
> - ROLE_RTE      -> RTE_LCORE_ROLE_RTE
> - ROLE_OFF      -> RTE_LCORE_ROLE_OFF
> - ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
> - ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL
> 
> Old names are kept as macros aliasing to the new names to preserve
> backward compatibility.
> 

Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>


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

* Re: [PATCH v1 0/5] prefix lcore role enum values
  2026-06-17 11:48 ` [PATCH v1 0/5] prefix lcore role enum values Morten Brørup
@ 2026-06-18 16:19   ` Thomas Monjalon
  2026-06-18 18:52     ` Morten Brørup
  2026-06-19  2:03   ` Stephen Hemminger
  1 sibling, 1 reply; 12+ messages in thread
From: Thomas Monjalon @ 2026-06-18 16:19 UTC (permalink / raw)
  To: Huisong Li
  Cc: dev, andrew.rybchenko, zhanjie9, Morten Brørup,
	David Marchand

17/06/2026 13:48, Morten Brørup:
> > From: Huisong Li [mailto:lihuisong@huawei.com]
> > Sent: Wednesday, 17 June 2026 12.28
> > 
> > Add the RTE_LCORE_ prefix to the lcore role enum values in
> > rte_lcore_role_t
> > to follow DPDK naming conventions.
> > 
> > - ROLE_RTE      -> RTE_LCORE_ROLE_RTE
> > - ROLE_OFF      -> RTE_LCORE_ROLE_OFF
> > - ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
> > - ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL
> > 
> > Old names are kept as macros aliasing to the new names to preserve
> > backward compatibility.
> > 
> 
> Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>

Squashed and applied, thanks.

I have a doubt about RTE_LCORE_ROLE_RTE: could we find a better name?

Also we should probably add some comments to explain each role.




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

* RE: [PATCH v1 0/5] prefix lcore role enum values
  2026-06-18 16:19   ` Thomas Monjalon
@ 2026-06-18 18:52     ` Morten Brørup
  0 siblings, 0 replies; 12+ messages in thread
From: Morten Brørup @ 2026-06-18 18:52 UTC (permalink / raw)
  To: Thomas Monjalon, Huisong Li
  Cc: dev, andrew.rybchenko, zhanjie9, David Marchand, Bruce Richardson

> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Thursday, 18 June 2026 18.20
> 
> 17/06/2026 13:48, Morten Brørup:
> > > From: Huisong Li [mailto:lihuisong@huawei.com]
> > > Sent: Wednesday, 17 June 2026 12.28
> > >
> > > Add the RTE_LCORE_ prefix to the lcore role enum values in
> > > rte_lcore_role_t
> > > to follow DPDK naming conventions.
> > >
> > > - ROLE_RTE      -> RTE_LCORE_ROLE_RTE
> > > - ROLE_OFF      -> RTE_LCORE_ROLE_OFF
> > > - ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
> > > - ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL
> > >
> > > Old names are kept as macros aliasing to the new names to preserve
> > > backward compatibility.
> > >
> >
> > Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>
> 
> Squashed and applied, thanks.
> 
> I have a doubt about RTE_LCORE_ROLE_RTE: could we find a better name?

Yes, it made more sense when lcores were either used by DPDK or not.
Note that it's used by both workers and the main lcore.

> 
> Also we should probably add some comments to explain each role.

+1

BTW, I thought the Non-EAL role was for registered control plane threads. But then I looked into Grout.
Grout uses the Non-EAL role for its dataplane threads. And the RTE role for its main thread, which is handling the control plane (which I suppose is not unusual).

Lcore roles and CPU core isolation is very flexible in DPDK. Maybe too flexible.


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

* Re: [PATCH v1 0/5] prefix lcore role enum values
  2026-06-17 11:48 ` [PATCH v1 0/5] prefix lcore role enum values Morten Brørup
  2026-06-18 16:19   ` Thomas Monjalon
@ 2026-06-19  2:03   ` Stephen Hemminger
  2026-06-19  7:28     ` Thomas Monjalon
  1 sibling, 1 reply; 12+ messages in thread
From: Stephen Hemminger @ 2026-06-19  2:03 UTC (permalink / raw)
  To: Morten Brørup; +Cc: Huisong Li, thomas, andrew.rybchenko, dev, zhanjie9

On Wed, 17 Jun 2026 13:48:37 +0200
Morten Brørup <mb@smartsharesystems.com> wrote:

> > From: Huisong Li [mailto:lihuisong@huawei.com]
> > Sent: Wednesday, 17 June 2026 12.28
> > 
> > Add the RTE_LCORE_ prefix to the lcore role enum values in
> > rte_lcore_role_t
> > to follow DPDK naming conventions.
> > 
> > - ROLE_RTE      -> RTE_LCORE_ROLE_RTE
> > - ROLE_OFF      -> RTE_LCORE_ROLE_OFF
> > - ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
> > - ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL
> > 
> > Old names are kept as macros aliasing to the new names to preserve
> > backward compatibility.
> >   
> 
> Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>
> 

The problem with this patch it causes build failures now with abi diff.

Example build log...


2 functions with some indirect sub-type change:





 [C] 'function rte_lcore_role_t rte_eal_lcore_role(unsigned int)' at eal_common_lcore.c:74:1 has some indirect sub-type changes:

 return type changed:

 type size hasn't changed

 4 enumerator deletions:

 'rte_lcore_role_t::ROLE_RTE' value '0'

 'rte_lcore_role_t::ROLE_OFF' value '1'

 'rte_lcore_role_t::ROLE_SERVICE' value '2'

 'rte_lcore_role_t::ROLE_NON_EAL' value '3'

 4 enumerator insertions:

 'rte_lcore_role_t::RTE_LCORE_ROLE_RTE' value '0'

 'rte_lcore_role_t::RTE_LCORE_ROLE_OFF' value '1'

 'rte_lcore_role_t::RTE_LCORE_ROLE_SERVICE' value '2'

 'rte_lcore_role_t::RTE_LCORE_ROLE_NON_EAL' value '3'





 [C] 'function int rte_lcore_has_role(unsigned int, rte_lcore_role_t)' at eal_common_lcore.c:85:1 has some indirect sub-type changes:

 parameter 2 of type 'enum rte_lcore_role_t' has sub-type changes:

 enum type 'enum rte_lcore_role_t' changed at rte_lcore.h:33:1, as reported earlier







Error: ABI issue reported for abidiff --suppr /home/runner/work/dpdk/dpdk/devtools/libabigail.abignore --no-added-syms --headers-dir1 reference/usr/local/include --headers-dir2 install/usr/local/include reference/usr/local/lib/librte_eal.so.26.1 install/usr/local/lib/librte_eal.so.26.2

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

* Re: [PATCH v1 0/5] prefix lcore role enum values
  2026-06-19  2:03   ` Stephen Hemminger
@ 2026-06-19  7:28     ` Thomas Monjalon
  2026-06-19  7:54       ` Morten Brørup
  0 siblings, 1 reply; 12+ messages in thread
From: Thomas Monjalon @ 2026-06-19  7:28 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Morten Brørup, Huisong Li, andrew.rybchenko, dev, zhanjie9

19/06/2026 04:03, Stephen Hemminger:
> On Wed, 17 Jun 2026 13:48:37 +0200
> Morten Brørup <mb@smartsharesystems.com> wrote:
> 
> > > From: Huisong Li [mailto:lihuisong@huawei.com]
> > > Sent: Wednesday, 17 June 2026 12.28
> > > 
> > > Add the RTE_LCORE_ prefix to the lcore role enum values in
> > > rte_lcore_role_t
> > > to follow DPDK naming conventions.
> > > 
> > > - ROLE_RTE      -> RTE_LCORE_ROLE_RTE
> > > - ROLE_OFF      -> RTE_LCORE_ROLE_OFF
> > > - ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
> > > - ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL
> > > 
> > > Old names are kept as macros aliasing to the new names to preserve
> > > backward compatibility.
> > >   
> > 
> > Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>
> > 
> 
> The problem with this patch it causes build failures now with abi diff.

It is probably a bug of an old version of abidiff.
I recommend updating.



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

* RE: [PATCH v1 0/5] prefix lcore role enum values
  2026-06-19  7:28     ` Thomas Monjalon
@ 2026-06-19  7:54       ` Morten Brørup
  0 siblings, 0 replies; 12+ messages in thread
From: Morten Brørup @ 2026-06-19  7:54 UTC (permalink / raw)
  To: Thomas Monjalon, Stephen Hemminger
  Cc: Huisong Li, andrew.rybchenko, dev, zhanjie9

> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Friday, 19 June 2026 09.28
> 
> 19/06/2026 04:03, Stephen Hemminger:
> > On Wed, 17 Jun 2026 13:48:37 +0200
> > Morten Brørup <mb@smartsharesystems.com> wrote:
> >
> > > > From: Huisong Li [mailto:lihuisong@huawei.com]
> > > > Sent: Wednesday, 17 June 2026 12.28
> > > >
> > > > Add the RTE_LCORE_ prefix to the lcore role enum values in
> > > > rte_lcore_role_t
> > > > to follow DPDK naming conventions.
> > > >
> > > > - ROLE_RTE      -> RTE_LCORE_ROLE_RTE
> > > > - ROLE_OFF      -> RTE_LCORE_ROLE_OFF
> > > > - ROLE_SERVICE  -> RTE_LCORE_ROLE_SERVICE
> > > > - ROLE_NON_EAL  -> RTE_LCORE_ROLE_NON_EAL
> > > >
> > > > Old names are kept as macros aliasing to the new names to
> preserve
> > > > backward compatibility.
> > > >
> > >
> > > Series-Acked-by: Morten Brørup <mb@smartsharesystems.com>
> > >
> >
> > The problem with this patch it causes build failures now with abi
> diff.
> 
> It is probably a bug of an old version of abidiff.
> I recommend updating.

With the #define's the ABI has not changed. It's probably too indirect for abidiff to understand.
If we absolutely want to please abidiff, we could keep the existing enums and #define RTE_LCORE_ROLE_RTE ROLE_RTE for now.
But I'm in favor of what was done already.


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

end of thread, other threads:[~2026-06-19  7:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-17 10:28 [PATCH v1 0/5] prefix lcore role enum values Huisong Li
2026-06-17 10:28 ` [PATCH v1 1/5] eal: " Huisong Li
2026-06-17 10:28 ` [PATCH v1 2/5] eal: use new lcore role enum names Huisong Li
2026-06-17 10:28 ` [PATCH v1 3/5] graph: " Huisong Li
2026-06-17 10:28 ` [PATCH v1 4/5] net/softnic: " Huisong Li
2026-06-17 10:28 ` [PATCH v1 5/5] test: " Huisong Li
2026-06-17 11:48 ` [PATCH v1 0/5] prefix lcore role enum values Morten Brørup
2026-06-18 16:19   ` Thomas Monjalon
2026-06-18 18:52     ` Morten Brørup
2026-06-19  2:03   ` Stephen Hemminger
2026-06-19  7:28     ` Thomas Monjalon
2026-06-19  7:54       ` Morten Brørup

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox