Christophe Leroy <christophe.le...@csgroup.eu> writes: Hi Christian, hi Hari,
Le 04/04/2024 à 19:44, Christian Zigotzky a écrit : Shall we use CONFIG_CRASH_DUMP to get int crashing_cpu = -1;? Further information: https://lists.ozlabs.org/pipermail/linuxppc-dev/2024-March/269985.html <https://lists.ozlabs.org/pipermail/linuxppc-dev/2024-March/269985.html> Looking at problematic commit 5c4233cc0920 ("powerpc/kdump: Split KEXEC_CORE and CRASH_DUMP dependency"), my feeling is that the change should be as follows. Hari, can you confirm ? diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c index 40aa58206888..3209fc92ac19 100644 --- a/arch/powerpc/platforms/85xx/smp.c +++ b/arch/powerpc/platforms/85xx/smp.c @@ -362,7 +362,7 @@ struct smp_ops_t smp_85xx_ops = { #endif }; -#ifdef CONFIG_KEXEC_CORE +#ifdef CONFIG_CRASH_DUMP #ifdef CONFIG_PPC32 atomic_t kexec_down_cpus = ATOMIC_INIT(0); @@ -465,7 +465,7 @@ static void mpc85xx_smp_machine_kexec(struct kimage *image) default_machine_kexec(image); } -#endif /* CONFIG_KEXEC_CORE */ +#endif /* CONFIG_CRASH_DUMP */ - - - - On 8. Apr 2024, at 14:20, Michael Ellerman <m...@ellerman.id.au> wrote: That doesn't look right to me. I think it needs something like below. cheers diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c index 40aa58206888..276060c993a0 100644 --- a/arch/powerpc/platforms/85xx/smp.c +++ b/arch/powerpc/platforms/85xx/smp.c @@ -398,6 +398,7 @@ static void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary) hard_irq_disable(); mpic_teardown_this_cpu(secondary); +#ifdef CONFIG_CRASH_DUMP if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) { /* * We enter the crash kernel on whatever cpu crashed, @@ -406,9 +407,11 @@ static void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary) */ disable_threadbit = 1; disable_cpu = cpu_first_thread_sibling(cpu); - } else if (sibling != crashing_cpu && - cpu_thread_in_core(cpu) == 0 && - cpu_thread_in_core(sibling) != 0) { + } else if (sibling == crashing_cpu) + return; +#endif + if (cpu_thread_in_core(cpu) == 0 && + cpu_thread_in_core(sibling) != 0) { disable_threadbit = 2; disable_cpu = sibling; } - - - - Any news? I still need a patch for compiling the kernel. - - Christian