[PATCH v1 00/15] power: unify and improve lcore ID verification

Huisong Li lihuisong at huawei.com
Thu Apr 16 05:05:57 CEST 2026


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, often relying on simple
range checks that do not account for whether a core is actually enabled in
the application.

Key Changes:
1. Replaces basic range checks with rte_lcore_is_enabled() across all
   cpufreq drivers (ACPI, AMD P-state, CPPC, Intel P-state, and KVM VM).
   This ensures the power library only operates on lcores assigned to the
   application.
2. Introduces a common macro in the power library's internal headers to
   standardize lcore ID verification.
3. Moves the verification logic from individual driver implementations up
   to the high-level framework API. This reduces duplication code and
   ensures that all drivers benefit from uniform validation.
4. Updates the power QoS and PMD Management libraries to use the new macro.

Huisong Li (15):
  power/kvm_vm: enforce enabled lcore ID check
  power/acpi_cpufreq: enforce enabled lcore ID check
  power/amd_pstate: enforce enabled lcore ID check
  power/cppc_cpufreq: enforce enabled lcore ID check
  power/intel_pstate: enforce enabled lcore ID check
  power: enforce enabled lcore ID check
  power: add a common macro to verify lcore ID
  power/pmd_mgmt: replace lcore ID verification with new macro
  power/qos: replace the lcore ID verification with new macro
  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

 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/power/power_common.h                      |  7 ++
 lib/power/rte_power_cpufreq.c                 | 14 ++++
 lib/power/rte_power_pmd_mgmt.c                | 25 ++-----
 lib/power/rte_power_qos.c                     | 10 +--
 9 files changed, 30 insertions(+), 296 deletions(-)

-- 
2.33.0



More information about the dev mailing list