Since my last v4 [1], the code has undergone great changes. The paca[] array has been reorganized and indexed by paca_ptrs[], which dramatically decreases the memory consumption even if there are many unpresent cpus in the middle.
However, reordering the logical cpu numbers can further decrease the size of paca_ptrs[] in the kdump case. So I keep [1-2/5], which rotate-shifts the cpu's sequence number in the device tree to obtain the logical cpu id. Patch [3-5/5] make further efforts to decrease the nr_cpus to be less than or equal to two. [1]: https://lore.kernel.org/linuxppc-dev/[email protected]/ --- v7 -> v8 Fix bug when turning on DEBUG macro Introducing [PATCHv7 4/5] powerpc/cpu: Skip impossible cpu during iteration on a core, which avoid access to unpopulated pcpu data. Cc: Michael Ellerman <[email protected]> Cc: Nicholas Piggin <[email protected]> Cc: Christophe Leroy <[email protected]> Cc: Mahesh Salgaonkar <[email protected]> Cc: Wen Xiong <[email protected]> Cc: Baoquan He <[email protected]> Cc: Ming Lei <[email protected]> Cc: [email protected] To: [email protected] Pingfan Liu (5): powerpc/setup : Enable boot_cpu_hwid for PPC32 powerpc/setup: Loosen the mapping between cpu logical id and its seq in dt powerpc/setup: Handle the case when boot_cpuid greater than nr_cpus powerpc/cpu: Skip impossible cpu during iteration on a core powerpc/setup: alloc extra paca_ptrs to hold boot_cpuid arch/powerpc/include/asm/cputhreads.h | 6 ++ arch/powerpc/include/asm/smp.h | 2 +- arch/powerpc/kernel/paca.c | 10 ++- arch/powerpc/kernel/prom.c | 29 +++--- arch/powerpc/kernel/setup-common.c | 108 ++++++++++++++++++----- arch/powerpc/kernel/smp.c | 2 +- arch/powerpc/kvm/book3s_hv.c | 7 +- arch/powerpc/platforms/powernv/idle.c | 32 +++---- arch/powerpc/platforms/powernv/subcore.c | 5 +- 9 files changed, 143 insertions(+), 58 deletions(-) -- 2.31.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
