From: Huisong Li <lihuisong@huawei.com>
To: <anatoly.burakov@intel.com>, <sivaprasad.tummala@amd.com>,
<stephen@networkplumber.org>
Cc: <dev@dpdk.org>, <thomas@monjalon.net>, <fengchengwen@huawei.com>,
<yangxingui@huawei.com>, <zhanjie9@hisilicon.com>,
<lihuisong@huawei.com>
Subject: [PATCH V2 00/15] power: unify and improve lcore ID verification
Date: Thu, 7 May 2026 10:42:15 +0800 [thread overview]
Message-ID: <20260507024230.1198111-1-lihuisong@huawei.com> (raw)
In-Reply-To: <20260416030612.2379407-1-lihuisong@huawei.com>
This patch series reworks the lcore ID verification logic within the
power library to ensure consistency and improve maintainability.
Currently, various cpufreq drivers implement their own lcore ID checks,
which are limited to simple range validation and involve significant
code duplication. Moreover, these checks do not account for whether the
core is actually managed by the application.
For the verification in cpufreq-related APIs and power QoS APIs, although
service cores do not typically invoke these APIs, they may operate in
polling modes where power management is required. To maintain compatibility
with applications using service cores, the validation logic now explicitly
allows both ROLE_RTE and ROLE_SERVICE.
But the lcore ID in the pmd_mgmt library must be ROLE_RTE because it is
mainly used together with the data plane of ethdev PMD. So use
rte_lcore_is_enabled to verify.
Key Changes:
1. Add lcore role verification to individual cpufreq drivers.
2. Introduces a unified macro in the power library to standardize lcore ID
checks.
3. Moves verification logic from individualdrivers to the framework level.
This reduces code duplication.
4. Allow the service cores to configure power QoS.
5. Use rte_lcore_is_enabled to verfify the lcore ID in pmd_mgmt.
---
v2:
- Allow the service cores to set power API.
---
Huisong Li (15):
eal: add interface to check if lcore is EAL managed
power/kvm_vm: validate lcore role in cpufreq API
power/acpi_cpufreq: validate lcore role in cpufreq API
power/amd_pstate: validate lcore role in cpufreq API
power/cppc_cpufreq: validate lcore role in cpufreq API
power/intel_pstate: validate lcore role in cpufreq API
power: add a common macro to verify lcore ID
power/cpufreq: add the lcore ID verification to framework
power/acpi_cpufreq: remove the verification of lcore ID
power/amd_pstate: remove the verification of lcore ID
power/cppc_cpufreq: remove the verification of lcore ID
power/intel_pstate: remove the verification of lcore ID
power/kvm_vm: remove the verification of lcore ID
power: allow the service core to config power QoS
power: add lcore ID check for PMD mgmt
drivers/power/acpi/acpi_cpufreq.c | 65 -------------------
drivers/power/amd_pstate/amd_pstate_cpufreq.c | 65 -------------------
drivers/power/cppc/cppc_cpufreq.c | 65 -------------------
.../power/intel_pstate/intel_pstate_cpufreq.c | 65 -------------------
drivers/power/kvm_vm/kvm_vm.c | 10 ---
lib/eal/common/eal_common_lcore.c | 11 ++++
lib/eal/include/rte_lcore.h | 11 ++++
lib/power/power_common.h | 7 ++
lib/power/rte_power_cpufreq.c | 14 +++-
lib/power/rte_power_pmd_mgmt.c | 21 +++---
lib/power/rte_power_qos.c | 10 +--
11 files changed, 55 insertions(+), 289 deletions(-)
--
2.33.0
next prev parent reply other threads:[~2026-05-07 2:42 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 3:05 [PATCH v1 00/15] power: unify and improve lcore ID verification Huisong Li
2026-04-16 3:05 ` [PATCH v1 01/15] power/kvm_vm: enforce enabled lcore ID check Huisong Li
2026-04-16 15:48 ` Stephen Hemminger
2026-04-17 2:51 ` lihuisong (C)
2026-04-21 11:07 ` lihuisong (C)
2026-04-21 14:23 ` Stephen Hemminger
2026-04-22 9:18 ` lihuisong (C)
2026-04-16 3:05 ` [PATCH v1 02/15] power/acpi_cpufreq: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 03/15] power/amd_pstate: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 04/15] power/cppc_cpufreq: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 05/15] power/intel_pstate: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 06/15] power: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 07/15] power: add a common macro to verify lcore ID Huisong Li
2026-04-16 3:06 ` [PATCH v1 08/15] power/pmd_mgmt: replace lcore ID verification with new macro Huisong Li
2026-04-16 3:06 ` [PATCH v1 09/15] power/qos: replace the " Huisong Li
2026-04-16 3:06 ` [PATCH v1 10/15] power/cpufreq: add the lcore ID verification to framework Huisong Li
2026-04-16 3:06 ` [PATCH v1 11/15] power/acpi_cpufreq: remove the verification of lcore ID Huisong Li
2026-04-16 3:06 ` [PATCH v1 12/15] power/amd_pstate: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 13/15] power/cppc_cpufreq: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 14/15] power/intel_pstate: " Huisong Li
2026-04-16 3:06 ` [PATCH v1 15/15] power/kvm_vm: " Huisong Li
2026-04-16 15:51 ` [PATCH v1 00/15] power: unify and improve lcore ID verification Stephen Hemminger
2026-04-17 2:53 ` lihuisong (C)
2026-05-07 2:42 ` Huisong Li [this message]
2026-05-07 2:42 ` [PATCH V2 01/15] eal: add interface to check if lcore is EAL managed Huisong Li
2026-05-07 2:42 ` [PATCH V2 02/15] power/kvm_vm: validate lcore role in cpufreq API Huisong Li
2026-05-07 2:42 ` [PATCH V2 03/15] power/acpi_cpufreq: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 04/15] power/amd_pstate: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 05/15] power/cppc_cpufreq: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 06/15] power/intel_pstate: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 07/15] power: add a common macro to verify lcore ID Huisong Li
2026-05-07 2:42 ` [PATCH V2 08/15] power/cpufreq: add the lcore ID verification to framework Huisong Li
2026-05-07 2:42 ` [PATCH V2 09/15] power/acpi_cpufreq: remove the verification of lcore ID Huisong Li
2026-05-07 2:42 ` [PATCH V2 10/15] power/amd_pstate: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 11/15] power/cppc_cpufreq: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 12/15] power/intel_pstate: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 13/15] power/kvm_vm: " Huisong Li
2026-05-07 2:42 ` [PATCH V2 14/15] power: allow the service core to config power QoS Huisong Li
2026-05-07 2:42 ` [PATCH V2 15/15] power: add lcore ID check for PMD mgmt Huisong Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260507024230.1198111-1-lihuisong@huawei.com \
--to=lihuisong@huawei.com \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=fengchengwen@huawei.com \
--cc=sivaprasad.tummala@amd.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
--cc=yangxingui@huawei.com \
--cc=zhanjie9@hisilicon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox