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
> 

Reply via email to