Re: [PATCHv9 2/2] powerpc/setup: Loosen the mapping between cpu logical id and its seq in dt
From: Pingfan Liu <hidden>
Date: 2023-10-18 08:22:28
Also in:
kexec
On Tue, Oct 17, 2023 at 6:39 PM Hari Bathini [off-list ref] wrote:
On 17/10/23 7:58 am, Pingfan Liu wrote:quoted
*** Idea *** For kexec -p, the boot cpu can be not the cpu0, this causes the problem of allocating memory for paca_ptrs[]. However, in theory, there is no requirement to assign cpu's logical id as its present sequence in the device tree. But there is something like cpu_first_thread_sibling(), which makes assumption on the mapping inside a core. Hence partially loosening the mapping, i.e. unbind the mapping of core while keep the mapping inside a core. *** Implement *** At this early stage, there are plenty of memory to utilize. Hence, this patch allocates interim memory to link the cpu info on a list, then reorder cpus by changing the list head. As a result, there is a rotate shift between the sequence number in dt and the cpu logical number. *** Result *** After this patch, a boot-cpu's logical id will always be mapped into the range [0,threads_per_core). Besides this, at this phase, all threads in the boot core are forced to be onlined. This restriction will be lifted in a later patch with extra effort. Signed-off-by: Pingfan Liu <redacted> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Christophe Leroy <redacted> Cc: Mahesh Salgaonkar <mahesh@linux.ibm.com> Cc: Wen Xiong <redacted> Cc: Baoquan He <bhe@redhat.com> Cc: Ming Lei <redacted> Cc: Sourabh Jain <redacted> Cc: Hari Bathini <hbathini@linux.ibm.com> Cc: kexec@lists.infradead.org To: linuxppc-dev@lists.ozlabs.orgThanks for working on this, Pingfan. Looks good to me. Acked-by: Hari Bathini <hbathini@linux.ibm.com>
Thank you for kindly reviewing. I hope that after all these years, we have accomplished the objective. Best Regards, Pingfan