Messages in this thread | | | Date | Tue, 10 Jul 2001 18:29:36 +0200 | From | Ralf Baechle <> | Subject | Re: How many pentium-3 processors does SMP support? |
| |
On Wed, Jul 11, 2001 at 02:25:09AM +1200, Chris Wedgwood wrote:
> The number of CPUs is currently globally limited to 32 by NR_CPUS in > include/linux/threads.h. > > Really? > > <pause>
A define which can easily be changed.
> Ah, so it is... yes, making this architecture dependant might be a > good idea. Large PPC and MIPS boxen need to adjust this already. Also, > someone did a starfire port, I think that had 64 processors, not sure.
The next limit are bitfields for processors in a number of places. They're stored in unsigned long variables, so this limits the kernel to 32 processors on 32-bit machines and 64 on 64-bit machines. Kanoj once fixed that and we had Linux booting on a 128p Origin but I'm not sure if those fixes went back to Linus. Once this is fixed there is a number of arrays with NR_CPUS elements in struct task_struct. Once you reach an estimated number of 200-300 processors (for 16kb kernel stacks) those make task_struct that large that the kernel stack may overflow. I haven't really researched all the gotchas that may cause problems with the kernel when going to machines of more than 128 processors.
Ralf - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |