[PATCHv8 0/5] enable nr_cpus for powerpc
Pingfan Liu
piliu at redhat.com
Mon Oct 9 04:30:31 PDT 2023
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/1520829790-14029-1-git-send-email-kernelfans@gmail.com/
---
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 <mpe at ellerman.id.au>
Cc: Nicholas Piggin <npiggin at gmail.com>
Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
Cc: Mahesh Salgaonkar <mahesh at us.ibm.com>
Cc: Wen Xiong <wenxiong at us.ibm.com>
Cc: Baoquan He <bhe at redhat.com>
Cc: Ming Lei <ming.lei at redhat.com>
Cc: kexec at lists.infradead.org
To: linuxppc-dev at lists.ozlabs.org
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
More information about the kexec
mailing list