diff mbox series

powerpc/powernv/smp: fix a warning at CPU hotplug

Message ID 1572295467-14686-1-git-send-email-cai@lca.pw (mailing list archive)
State Superseded
Headers show
Series powerpc/powernv/smp: fix a warning at CPU hotplug | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch powerpc/merge (a437a1c6e54c045f19f7d894b2a749bc5155f19a)
snowpatch_ozlabs/build-ppc64le success Build succeeded
snowpatch_ozlabs/build-ppc64be success Build succeeded
snowpatch_ozlabs/build-ppc64e success Build succeeded
snowpatch_ozlabs/build-pmac32 success Build succeeded
snowpatch_ozlabs/checkpatch success total: 0 errors, 0 warnings, 0 checks, 7 lines checked

Commit Message

Qian Cai Oct. 28, 2019, 8:44 p.m. UTC
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@lca.pw>
---
 arch/powerpc/platforms/powernv/smp.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Michael Ellerman Oct. 29, 2019, 10:13 a.m. UTC | #1
Qian Cai <cai@lca.pw> 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@lca.pw>
> ---
>  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
diff mbox series

Patch

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());