powerpc: Make the NR_CPUS max 8192
PATCH 1/1 powerpc: Make the NR_CPUS max 8192
We can compile and boot with NR_CPUS=8192, so make this the max. 1024 was an arbitrary decision anyway.
--
No, I've not actually booted on a 8192 way machine, although if wishing made it so....
arch/powerpc/platforms/Kconfig.cputype | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/powerpc/platforms/Kconfig.cputype +2 -2
@@ -262,8 +262,8 @@ config SMP If you don't know what to do here, say N. config NR_CPUS - int "Maximum number of CPUs (2-1024)" - range 2 1024 + int "Maximum number of CPUs (2-8192)" + range 2 8192 depends on SMP default "32" if PPC64 default "4"
Quoted 2 lines · Michael Neuling
We can compile and boot with NR_CPUS=8192, so make this the max. 1024 was an arbitrary decision anyway.
Is 8192 still arbitrary? Or does something break above that?
cheers
Quoted 4 lines
Quoted 2 lines
We can compile and boot with NR_CPUS=3D8192, so make this the max. 1024 was an arbitrary decision anyway.
Is 8192 still arbitrary? Or does something break above that?
Yeah, the compile breaks after that with 4K pages.
In drivers/base/node.c we have:
/* 2008/04/07: buf currently PAGE_SIZE, need 9 chars per 32 bits. */ BUILD_BUG_ON((NR_CPUS/32 * 9) > (PAGE_SIZE-1));
which causes:drivers/base/node.c: In function 'node_read_cpumap':drivers/base/node.c:31: error: size of array 'type name' is negative
I can compile with 16384 CPUs with 64K pages, but it doesn't boot.
sfr asked for size info for different builds, so I may as well repost them here:
text data bss dec hex filename
9237767 3225768 4409996 16873531 101783b vmlinux.1024
9247355 4769472 7373708 21390535 14664c7 vmlinux.2048
9267239 7857032 13301132 30425403 1d0413b vmlinux.4096
9302623 14035832 25155980 48494435 2e3f763 vmlinux.8192
9373283 26389360 48865676 84628319 50b535f vmlinux.16384
config was pseries_defconfig but with 64K pages.
Mikey
Quoted 19 lines · Michael Neuling
Quoted 4 lines
Quoted 2 lines
We can compile and boot with NR_CPUS=3D8192, so make this the max. 1024 was an arbitrary decision anyway.
Is 8192 still arbitrary? Or does something break above that?
Yeah, the compile breaks after that with 4K pages.
In
drivers/base/node.cwe have:/* 2008/04/07: buf currently PAGE_SIZE, need 9 chars per 32 bits. */ BUILD_BUG_ON((NR_CPUS/32 * 9) > (PAGE_SIZE-1));which causes:
drivers/base/node.c: In function 'node_read_cpumap':drivers/base/node.c:31: error: size of array 'type name' is negativeI can compile with 16384 CPUs with 64K pages, but it doesn't boot.
sfr asked for size info for different builds, so I may as well repost them here:
Quoted 6 lines
text data bss dec hex filename
9237767 3225768 4409996 16873531 101783b vmlinux.1024
9247355 4769472 7373708 21390535 14664c7 vmlinux.2048
9267239 7857032 13301132 30425403 1d0413b vmlinux.4096
9302623 14035832 25155980 48494435 2e3f763 vmlinux.8192
9373283 26389360 48865676 84628319 50b535f vmlinux.16384
Will distros now start pushing NR_CPUS=8192-kernels on us?
With kind regards,
Geert Uytterhoeven
Software Architect
Techsoft Centre
Technology and Software Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone: +32 (0)2 700 8453 Fax: +32 (0)2 700 8622 E-mail: [email protected] Internet: http://www.sony-europe.com/
A division of Sony Europe (Belgium) N.V. VAT BE 0413.825.160 · RPR Brussels Fortis · BIC GEBABEBB · IBAN BE41293037680010
Quoted 2 lines · In message <[email protected]> you wrote:
Quoted 1 line · Michael Neuling
Quoted 1 line
Quoted 1 line
We can compile and boot with NR_CPUS=3D8192, so make this the max. 102
4
Quoted 13 lines
Quoted 13 lines
Quoted 3 lines
Quoted 1 line
was an arbitrary decision anyway.
Is 8192 still arbitrary? Or does something break above that?
Yeah, the compile breaks after that with 4K pages.
In
drivers/base/node.cwe have:/* 2008/04/07: buf currently PAGE_SIZE, need 9 chars per 32 bits. */ BUILD_BUG_ON((NR_CPUS/32 * 9) > (PAGE_SIZE-1));which causes:
drivers/base/node.c: In function 'node_read_cpumap':drivers/base/node.c:31: error: size of array 'type name' is negative
Quoted 6 lines
Quoted 6 lines
I can compile with 16384 CPUs with 64K pages, but it doesn't boot.
sfr asked for size info for different builds, so I may as well repost them here:
text data bss dec hex filenam
e
Quoted 1 line
Quoted 1 line
9237767 3225768 4409996 16873531 101783b vmlinux
.1024
Quoted 1 line
Quoted 1 line
9247355 4769472 7373708 21390535 14664c7 vmlinux
.2048
Quoted 1 line
Quoted 1 line
9267239 7857032 13301132 30425403 1d0413b vmlinux
.4096
Quoted 1 line
Quoted 1 line
9302623 14035832 25155980 48494435 2e3f763 vmlinux
.8192
Quoted 1 line
Quoted 1 line
9373283 26389360 48865676 84628319 50b535f vmlinux
.16384
Quoted 2 lines
Will distros now start pushing NR_CPUS=8192-kernels on us?
Yeah, that's a concern.
Mikey