On Fri, Jan 16, 2026 at 03:51:54PM +0100, Frederic Weisbecker wrote:
> 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());
?
> + 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
>