* [PATCH] timers/migration: Temporarily disable per capacity hierarchies
@ 2026-06-09 12:33 Frederic Weisbecker
2026-06-09 15:30 ` [tip: timers/core] " tip-bot2 for Frederic Weisbecker
2026-06-09 15:34 ` [PATCH] " Christian Loehle
0 siblings, 2 replies; 3+ messages in thread
From: Frederic Weisbecker @ 2026-06-09 12:33 UTC (permalink / raw)
To: Thomas Gleixner
Cc: LKML, Frederic Weisbecker, Sehee Jeong, Anna-Maria Behnsen,
Christian Loehle
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>
---
kernel/time/timer_migration.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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);
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [tip: timers/core] timers/migration: Temporarily disable per capacity hierarchies
2026-06-09 12:33 [PATCH] timers/migration: Temporarily disable per capacity hierarchies Frederic Weisbecker
@ 2026-06-09 15:30 ` tip-bot2 for Frederic Weisbecker
2026-06-09 15:34 ` [PATCH] " Christian Loehle
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot2 for Frederic Weisbecker @ 2026-06-09 15:30 UTC (permalink / raw)
To: linux-tip-commits
Cc: Christian Loehle, Frederic Weisbecker, Thomas Gleixner, x86,
linux-kernel
The following commit has been merged into the timers/core branch of tip:
Commit-ID: bb0c250e8e1132723795c1046442ceb01a5ed1b1
Gitweb: https://git.kernel.org/tip/bb0c250e8e1132723795c1046442ceb01a5ed1b1
Author: Frederic Weisbecker <frederic@kernel.org>
AuthorDate: Tue, 09 Jun 2026 14:33:56 +02:00
Committer: Thomas Gleixner <tglx@kernel.org>
CommitterDate: Tue, 09 Jun 2026 17:25:54 +02:00
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
---
kernel/time/timer_migration.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migration.c
index 548d849..e9d96d9 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);
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] timers/migration: Temporarily disable per capacity hierarchies
2026-06-09 12:33 [PATCH] timers/migration: Temporarily disable per capacity hierarchies Frederic Weisbecker
2026-06-09 15:30 ` [tip: timers/core] " tip-bot2 for Frederic Weisbecker
@ 2026-06-09 15:34 ` Christian Loehle
1 sibling, 0 replies; 3+ messages in thread
From: Christian Loehle @ 2026-06-09 15:34 UTC (permalink / raw)
To: Frederic Weisbecker, Thomas Gleixner
Cc: LKML, Sehee Jeong, Anna-Maria Behnsen
On 6/9/26 13:33, Frederic Weisbecker wrote:
> 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>
> ---
> kernel/time/timer_migration.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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);
FWIW
Reviewed-by: Christian Loehle <christian.loehle@arm.com>
Thanks for looking into this after the late response!
I have something based on avg_idle which doesn't look unreasonable on first glance,
I'll do some more testing and hopefully post it with some number soon!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-06-09 15:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-09 12:33 [PATCH] timers/migration: Temporarily disable per capacity hierarchies Frederic Weisbecker
2026-06-09 15:30 ` [tip: timers/core] " tip-bot2 for Frederic Weisbecker
2026-06-09 15:34 ` [PATCH] " Christian Loehle
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.