[dpdk-dev] [PATCH] eal: added new `rte_lcore_is_service_lcore` API.

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Wed Aug 23 17:10:27 CEST 2017


This API can be used to test if an lcore(EAL thread) is a service lcore.

Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---
 lib/librte_eal/common/include/rte_lcore.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/lib/librte_eal/common/include/rte_lcore.h b/lib/librte_eal/common/include/rte_lcore.h
index 50e0d0f..7854ea1 100644
--- a/lib/librte_eal/common/include/rte_lcore.h
+++ b/lib/librte_eal/common/include/rte_lcore.h
@@ -180,6 +180,24 @@ rte_lcore_is_enabled(unsigned lcore_id)
 }
 
 /**
+ * Test if an lcore is service lcore.
+ *
+ * @param lcore_id
+ *   The identifier of the lcore, which MUST be between 0 and
+ *   RTE_MAX_LCORE-1.
+ * @return
+ *   True if the given lcore is service; false otherwise.
+ */
+static inline int
+rte_lcore_is_service_lcore(unsigned lcore_id)
+{
+	struct rte_config *cfg = rte_eal_get_configuration();
+	if (lcore_id >= RTE_MAX_LCORE)
+		return 0;
+	return cfg->lcore_role[lcore_id] == ROLE_SERVICE;
+}
+
+/**
  * Get the next enabled lcore ID.
  *
  * @param i
-- 
2.7.4



More information about the dev mailing list