summaryrefslogtreecommitdiff
path: root/kernel/time/timer_migration.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <frederic@kernel.org>2026-06-09 14:33:56 +0200
committerThomas Gleixner <tglx@kernel.org>2026-06-09 17:25:54 +0200
commitbb0c250e8e1132723795c1046442ceb01a5ed1b1 (patch)
treee64da365afd6f5e248e9e460b55136a768375a95 /kernel/time/timer_migration.c
parent45b49d7e3ab6490a9b957a4075344093c43d1f7e (diff)
downloadlinux-next-bb0c250e8e1132723795c1046442ceb01a5ed1b1.tar.gz
linux-next-bb0c250e8e1132723795c1046442ceb01a5ed1b1.zip
timers/migration: Temporarily disable per capacity hierarchies
Some workloads with different CPU capacities consume more power with timer migration than before. The recently introduced per capacity hierarchies were supposed to alleviate this problem. However it appears to also regress other types of workloads, especially when plenty of capacities live together in the same machine. Disable the feature until a reasonable solution is found. Fixes: 098cbaad8e57 ("timers/migration: Split per-capacity hierarchies") Reported-by: Christian Loehle <christian.loehle@arm.com> Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260609123356.28449-1-frederic@kernel.org Closes: https://lore.kernel.org/all/3b79338f-6cfc-4722-8062-9103db2c8ad1@arm.com
Diffstat (limited to 'kernel/time/timer_migration.c')
-rw-r--r--kernel/time/timer_migration.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migration.c
index 548d84955f4c..e9d96d96e251 100644
--- a/kernel/time/timer_migration.c
+++ b/kernel/time/timer_migration.c
@@ -1473,7 +1473,7 @@ static unsigned int tmigr_get_capacity(int cpu)
* timekeeper must then belong to the same hierarchy as all the nohz_full
* CPUs. Simply turn off capacity awareness when nohz_full is running.
*/
- if (tick_nohz_full_enabled())
+ if (tick_nohz_full_enabled() || !IS_ENABLED(CONFIG_BROKEN))
return SCHED_CAPACITY_SCALE;
else
return arch_scale_cpu_capacity(cpu);