Subject: Re: [PATCH] powerpc: Make the NR_CPUS max 8192

From: Michael Neuling <[email-masked]>
Date: Mon, 18 May 2009 14:14:04 +1000

> > 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