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: 098cbaad8e ("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
This commit is contained in:
Frederic Weisbecker 2026-06-09 14:33:56 +02:00 committed by Thomas Gleixner
parent 45b49d7e3a
commit bb0c250e8e

View File

@ -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);