Re: [PATCH] powerpc/powernv/smp: fix a warning at CPU hotplug

From: Michael Ellerman
Date: Tue Oct 29 2019 - 06:13:12 EST


Qian Cai <cai@xxxxxx> writes:
> The commit e78a7614f387 ("idle: Prevent late-arriving interrupts from
> disrupting offline") introduced a warning on powerpc with CPU hotplug,
>
> WARNING: CPU: 1 PID: 0 at arch/powerpc/platforms/powernv/smp.c:160
> pnv_smp_cpu_kill_self+0x5c/0x330
> Call Trace:
> cpu_die+0x48/0x64
> arch_cpu_idle_dead+0x30/0x50
> do_idle+0x2e4/0x460
> cpu_startup_entry+0x3c/0x40
> start_secondary+0x7a8/0xa80
> start_secondary_resume+0x10/0x14
>
> because it calls local_irq_disable() before arch_cpu_idle_dead().
>
> Fixes: e78a7614f387 ("idle: Prevent late-arriving interrupts from disrupting offline")
> Signed-off-by: Qian Cai <cai@xxxxxx>
> ---
> arch/powerpc/platforms/powernv/smp.c | 1 -
> 1 file changed, 1 deletion(-)

Thanks.

But Nick already sent a fix for this, I just need to review/test it and
get it merged, see:
https://patchwork.ozlabs.org/patch/1181275/


cheers

> diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c
> index fbd6e6b7bbf2..51f4e07b9168 100644
> --- a/arch/powerpc/platforms/powernv/smp.c
> +++ b/arch/powerpc/platforms/powernv/smp.c
> @@ -157,7 +157,6 @@ static void pnv_smp_cpu_kill_self(void)
> * This hard disables local interurpts, ensuring we have no lazy
> * irqs pending.
> */
> - WARN_ON(irqs_disabled());
> hard_irq_disable();
> WARN_ON(lazy_irq_pending());
>
> --
> 1.8.3.1