Thread (41 messages) 41 messages, 8 authors, 2026-02-25

Re: [PATCH 01/15] sched/idle: Handle offlining first in idle loop

From: Peter Zijlstra <peterz@infradead.org>
Date: 2026-01-19 12:54:10
Also in: linux-pm, linux-s390, lkml

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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help