[Qemu-ppc] pseries on qemu-system-ppc64le crashes in doorbell_core_ipi()

Jason A. Donenfeld Jason at zx2c4.com
Fri Dec 20 11:53:40 AEDT 2019


On Thu, Dec 19, 2019 at 1:52 PM Michael Ellerman <mpe at ellerman.id.au> wrote:
> diff --git a/arch/powerpc/kernel/dbell.c b/arch/powerpc/kernel/dbell.c
> index f17ff1200eaa..e45cb9bba193 100644
> --- a/arch/powerpc/kernel/dbell.c
> +++ b/arch/powerpc/kernel/dbell.c
> @@ -63,7 +63,7 @@ int doorbell_try_core_ipi(int cpu)
>         int this_cpu = get_cpu();
>         int ret = 0;
>
> -       if (cpumask_test_cpu(cpu, cpu_sibling_mask(this_cpu))) {
> +       if (cpu != this_cpu && cpumask_test_cpu(cpu, cpu_sibling_mask(this_cpu))) {
>                 doorbell_core_ipi(cpu);
>                 ret = 1;
>         }

I realize the best solution is that nice powernv branch that will
eventually be merged for qemu/tcg. But, maybe the above would be a
decent idea to upstream? It seems like that's a case of a superfluous
doorbell?

Jason


More information about the Linuxppc-dev mailing list