It is a long time 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/3], which
rotate-shifts the cpu's sequence number in the device tree to obtain the
logical cpu id.

Patch [2-3/3] make efforts to decrease the nr_cpus to be less than or
equal to two.

[1]: 
https://lore.kernel.org/linuxppc-dev/[email protected]/

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 (3):
  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/setup: alloc extra paca_ptrs to hold boot_cpuid

 arch/powerpc/kernel/paca.c         |  10 +--
 arch/powerpc/kernel/prom.c         |  26 ++++---
 arch/powerpc/kernel/setup-common.c | 106 ++++++++++++++++++++++++-----
 3 files changed, 111 insertions(+), 31 deletions(-)

-- 
2.31.1

Reply via email to