On Fri, Jan 16, 2026 at 03:51:54PM +0100, Frederic Weisbecker wrote:
quoted hunk ↗ jump to hunk
kernel/sched/idle.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index c174afe1dd17..35d79af3286d 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -260,6 +260,12 @@ static void do_idle(void)
{
int cpu = smp_processor_id();
+ if (cpu_is_offline(cpu)) {
Does it make sense to make that: if (unlikely(cpu_is_offline(cpu))) ?
+ local_irq_disable();
Also, do we want something like:
WARN_ON_ONCE(need_resched());
?
quoted hunk ↗ jump to hunk
+ cpuhp_report_idle_dead();
+ arch_cpu_idle_dead();
+ }
+
/*
* Check if we need to update blocked load
*/
@@ -311,11 +317,6 @@ static void do_idle(void)
*/
local_irq_disable();
- if (cpu_is_offline(cpu)) {
- cpuhp_report_idle_dead();
- arch_cpu_idle_dead();
- }
-
arch_cpu_idle_enter();
rcu_nocb_flush_deferred_wakeup();
--
2.51.1