]> www.infradead.org Git - users/jedix/linux-maple.git/commit
arch/sparc: support NR_CPUS = 4096
authorjane Chu <janec@brm-t84-02.us.oracle.com>
Wed, 22 Mar 2017 22:49:05 +0000 (16:49 -0600)
committerShannon Nelson <shannon.nelson@oracle.com>
Wed, 31 May 2017 23:43:47 +0000 (16:43 -0700)
commit654ea586c5c13ec5b868e290651d4c4a1944bf2d
treeb8fa961a31b70a44907431fb6b1c40ae50f27900
parent786dfcf456d2fcd10ac3a9f37a24161efa77df6a
arch/sparc: support NR_CPUS = 4096

Linux SPARC64 limits NR_CPUS to 4064 because init_cpu_send_mondo_info()
only allocates a single page for NR_CPUS mondo entries. Thus we cannot
use all 4096 CPUs on some SPARC platforms.

To fix, allocate (2^order) pages where order is set according to the size
of cpu_list for possible cpus. Since cpu_list_pa and cpu_mondo_block_pa
are not used in asm code, there are no imm13 offsets from the base PA
that will break because they can only reach one page.

Orabug: 25505750

Signed-off-by: Jane Chu <jane.chu@oracle.com>
Reviewed-by: Bob Picco <bob.picco@oracle.com>
Reviewed-by: Atish Patra <atish.patra@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/Kconfig
arch/sparc/kernel/irq_64.c