[PATCH v4 1/9] power: add a common macro to verify lcore ID
Huisong Li
lihuisong at huawei.com
Mon Jun 15 09:30:42 CEST 2026
There are many places to verify lcore ID in power. It is necessary
to add a common macro in power core.
According to the applicattion in l3fwd-power, the lcore must be at
least within the RTE_MAX_LCORE range and be a core of the ROLE_RTE
role. But the service on the ROLE_SERVICE core also can use and
require power management feature.
So this common macro restricts that the lcore ID must be ROLE_RTE
and ROLE_SERVICE.
Signed-off-by: Huisong Li <lihuisong at huawei.com>
---
doc/guides/rel_notes/release_26_07.rst | 4 ++++
lib/power/power_common.h | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/doc/guides/rel_notes/release_26_07.rst b/doc/guides/rel_notes/release_26_07.rst
index 5d7aa8d1bf..aeabb908ec 100644
--- a/doc/guides/rel_notes/release_26_07.rst
+++ b/doc/guides/rel_notes/release_26_07.rst
@@ -155,6 +155,10 @@ New Features
Added AGENTS.md file for AI review
and supporting scripts to review patches and documentation.
+* **Added a common macro to verify lcore ID in power core.**
+
+ Added the ``RTE_POWER_VALID_LCOREID_OR_ERR_RET`` macro to verify lcore ID
+ in power core.
Removed Items
-------------
diff --git a/lib/power/power_common.h b/lib/power/power_common.h
index e2d5b68a17..370c5246c6 100644
--- a/lib/power/power_common.h
+++ b/lib/power/power_common.h
@@ -25,6 +25,14 @@ extern int rte_power_logtype;
#define POWER_CONVERT_TO_DECIMAL 10
+#define RTE_POWER_VALID_LCOREID_OR_ERR_RET(lcore_id, retval) do { \
+ if (rte_eal_lcore_role(lcore_id) != ROLE_RTE && \
+ rte_eal_lcore_role(lcore_id) != ROLE_SERVICE) { \
+ POWER_LOG(ERR, "lcore id %u is invalid", lcore_id); \
+ return retval; \
+ } \
+} while (0)
+
/* check if scaling driver matches one we want */
__rte_internal
int cpufreq_check_scaling_driver(const char *driver);
--
2.33.0
More information about the dev
mailing list