[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260123113712.1590187-1-tianyaxiong@kylinos.cn>
Date: Fri, 23 Jan 2026 19:37:12 +0800
From: Yaxiong Tian <tianyaxiong@...inos.cn>
To: tglx@...nel.org,
mingo@...hat.com,
bp@...en8.de,
dave.hansen@...ux.intel.com,
x86@...nel.org,
hpa@...or.com,
srinivas.pandruvada@...ux.intel.com,
lenb@...nel.org,
rafael@...nel.org,
viresh.kumar@...aro.org,
ricardo.neri-calderon@...ux.intel.com
Cc: linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org,
Yaxiong Tian <tianyaxiong@...inos.cn>
Subject: [PATCH 0/3] cpufreq/intel_pstate: Support dynamic hybrid capacity scaling during SMT transitions
Users can toggle SMT (Simultaneous Multi-Threading) via
/sys/devices/system/cpu/smt, which dynamically changes the CPU's
hybrid nature and related features like EAS (Energy Aware Scheduling).
When SMT transitions occur, the system may no longer be recognized as
hybrid, invalidating previously applied CPU capacity scaling settings.
This patch series addresses the issue by enabling dynamic toggling
of cpu_capacity_scaling during SMT transitions on hybrid platforms:
Patch 1 adds the arch_disable_hybrid_capacity_scale() interface to
handle dynamic SMT state changes at the architecture level.
Patch 2 removes the refresh logic in hybrid_init_cpu_capacity_scaling()
since sysfs interfaces for cpufreq_driver switching make mere refresh
insufficient.
Patch 3 implements the core logic to enable/disable CPU capacity
scaling during SMT transitions. It leverages cpufreq online/offline
operations that accompany SMT transitions:
- SMT off → on: cpufreq online operations occur. If hybrid settings
were previously applied, disable-related operations are performed.
- SMT on → off: cpufreq offline operations occur. If the system meets
hybrid conditions, enable-related operations are performed.
This ensures the system correctly maintains CPU capacity scaling
configuration across SMT state changes on hybrid platforms.
Yaxiong Tian (3):
x86/sched: Add arch_disable_hybrid_capacity_scale() interface
cpufreq: intel_pstate: Remove refresh logic in
hybrid_init_cpu_capacity_scaling()
cpufreq: intel_pstate: Enable toggling cpu_capacity_scaling on hybrid
platforms during SMT transitions
arch/x86/include/asm/topology.h | 2 +
arch/x86/kernel/cpu/aperfmperf.c | 23 +++++++++
drivers/cpufreq/intel_pstate.c | 89 ++++++++++++++++++++++----------
3 files changed, 87 insertions(+), 27 deletions(-)
--
2.25.1
Powered by blists - more mailing lists