* Max CPUs on x86_64 under 2.6.x @ 2005-01-03 14:00 Colin Coe 2005-01-03 22:15 ` William Lee Irwin III 2005-01-04 0:34 ` Andi Kleen 0 siblings, 2 replies; 7+ messages in thread From: Colin Coe @ 2005-01-03 14:00 UTC (permalink / raw) To: linux-kernel Hi all Why is the number of CPUs on the x86_64 architecture only 8 but under i386 it is 255? I've searched the list archives and Google but can't find an answer. Thanks CC ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Max CPUs on x86_64 under 2.6.x 2005-01-03 14:00 Max CPUs on x86_64 under 2.6.x Colin Coe @ 2005-01-03 22:15 ` William Lee Irwin III 2005-01-04 0:17 ` Colin Coe 2005-01-04 0:34 ` Andi Kleen 1 sibling, 1 reply; 7+ messages in thread From: William Lee Irwin III @ 2005-01-03 22:15 UTC (permalink / raw) To: Colin Coe; +Cc: linux-kernel On Mon, Jan 03, 2005 at 10:00:41PM +0800, Colin Coe wrote: > Why is the number of CPUs on the x86_64 architecture only 8 but under i386 > it is 255? > I've searched the list archives and Google but can't find an answer. i386 machines have had interrupt controllers and "large scale" systems (to the extent that 32-bit machines can be so) developed for some time. x86-64 machines are newer, and it is the maintainer's preference to start with a fresh codebase for the APIC. So what you see is not a reflection of x86-64's capabilities, but rather, of the newness of the architecture and the codebase's desire to be "legacy-free" in manners that don't pose the threat of causing immediate problems. It is not now limiting the capabilities of x86-64 machines because x86-64 machines of 64 cpus or larger have yet to be produced. For the record, I'm unaware of SSI i386 machines larger than 64 processors. 255 represents nothing more than a theoretical limit of hardware capabilities, and no i386 machine larger than 64 processors has ever been constructed to the best of my knowledge. -- wli ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Max CPUs on x86_64 under 2.6.x 2005-01-03 22:15 ` William Lee Irwin III @ 2005-01-04 0:17 ` Colin Coe 2005-01-04 2:12 ` William Lee Irwin III 0 siblings, 1 reply; 7+ messages in thread From: Colin Coe @ 2005-01-04 0:17 UTC (permalink / raw) To: William Lee Irwin III; +Cc: linux-kernel > On Mon, Jan 03, 2005 at 10:00:41PM +0800, Colin Coe wrote: >> Why is the number of CPUs on the x86_64 architecture only 8 but under >> i386 >> it is 255? >> I've searched the list archives and Google but can't find an answer. > > i386 machines have had interrupt controllers and "large scale" systems > (to the extent that 32-bit machines can be so) developed for some time. > x86-64 machines are newer, and it is the maintainer's preference to > start with a fresh codebase for the APIC. > > So what you see is not a reflection of x86-64's capabilities, but > rather, of the newness of the architecture and the codebase's desire > to be "legacy-free" in manners that don't pose the threat of causing > immediate problems. > > It is not now limiting the capabilities of x86-64 machines because > x86-64 machines of 64 cpus or larger have yet to be produced. For the > record, I'm unaware of SSI i386 machines larger than 64 processors. > 255 represents nothing more than a theoretical limit of hardware > capabilities, and no i386 machine larger than 64 processors has ever > been constructed to the best of my knowledge. > > > -- wli > Hi and thanks for the response. Just one more question, what is the '64 cpus' that you are referring to? The ./arch/x86_64/Kconfig file states: --- # actually 64 maximum, but you need to fix the APIC code first # to use clustered mode or whatever your big iron needs config NR_CPUS int "Maximum number of CPUs (2-8)" range 2 8 depends on SMP default "8" help This allows you to specify the maximum number of CPUs which this kernel will support. The maximum supported value is 32 and the minimum value which makes sense is 2. This is purely to save memory - each supported CPU requires memory in the static kernel configuration. --- Can you clarify this as: - the comments says 64 CPUs, - the code says 8 CPUs, and - the help text says 32 CPUs. The company I work for is looking at IBM x445 servers which support up to 32 processors (although this is via NUMA-Q). Are NUMA-Q boxes also subject to the 8 CPU limit? Thanks CC ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Max CPUs on x86_64 under 2.6.x 2005-01-04 0:17 ` Colin Coe @ 2005-01-04 2:12 ` William Lee Irwin III 0 siblings, 0 replies; 7+ messages in thread From: William Lee Irwin III @ 2005-01-04 2:12 UTC (permalink / raw) To: Colin Coe; +Cc: linux-kernel On Tue, Jan 04, 2005 at 08:17:09AM +0800, Colin Coe wrote: > Just one more question, what is the '64 cpus' that you are referring to? > The ./arch/x86_64/Kconfig file states: The "64 cpus" referred to a comparison between i386 and x86-64. i386 SMP machines having 64 cpus were the largest ever constructed with those particular cpus. No assertion regarding x86-64 systems was intended to be made by that particular statement. -- wli ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Max CPUs on x86_64 under 2.6.x 2005-01-03 14:00 Max CPUs on x86_64 under 2.6.x Colin Coe 2005-01-03 22:15 ` William Lee Irwin III @ 2005-01-04 0:34 ` Andi Kleen 2005-01-04 2:20 ` William Lee Irwin III 1 sibling, 1 reply; 7+ messages in thread From: Andi Kleen @ 2005-01-04 0:34 UTC (permalink / raw) To: colin; +Cc: linux-kernel "Colin Coe" <colin@coesta.com> writes: > Hi all > > Why is the number of CPUs on the x86_64 architecture only 8 but under i386 > it is 255? > > I've searched the list archives and Google but can't find an answer. Post 2.6.10 x86-64 will support more CPUs. 2.6.10 actually does too, but the Kconfig hadn't been changed then. Previously there was an 8 CPU APIC driver limit, however it turned out later that it doesn't apply to some Opteron machines. -Andi ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Max CPUs on x86_64 under 2.6.x 2005-01-04 0:34 ` Andi Kleen @ 2005-01-04 2:20 ` William Lee Irwin III 2005-01-04 11:09 ` Andi Kleen 0 siblings, 1 reply; 7+ messages in thread From: William Lee Irwin III @ 2005-01-04 2:20 UTC (permalink / raw) To: Andi Kleen; +Cc: colin, linux-kernel "Colin Coe" <colin@coesta.com> writes: >> Why is the number of CPUs on the x86_64 architecture only 8 but under i386 >> it is 255? >> I've searched the list archives and Google but can't find an answer. On Tue, Jan 04, 2005 at 01:34:50AM +0100, Andi Kleen wrote: > Post 2.6.10 x86-64 will support more CPUs. 2.6.10 actually does too, > but the Kconfig hadn't been changed then. Previously there was an > 8 CPU APIC driver limit, however it turned out later that it doesn't > apply to some Opteron machines. Barring cpus with a different onboard interrupt controller from the xAPIC or the use of external interrupt controllers to assist with cpu addressing, 255 serves as an architectural limit for Opteron as well. -- wli ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Max CPUs on x86_64 under 2.6.x 2005-01-04 2:20 ` William Lee Irwin III @ 2005-01-04 11:09 ` Andi Kleen 0 siblings, 0 replies; 7+ messages in thread From: Andi Kleen @ 2005-01-04 11:09 UTC (permalink / raw) To: William Lee Irwin III; +Cc: colin, linux-kernel On Mon, Jan 03, 2005 at 06:20:34PM -0800, William Lee Irwin III wrote: > "Colin Coe" <colin@coesta.com> writes: > >> Why is the number of CPUs on the x86_64 architecture only 8 but under i386 > >> it is 255? > >> I've searched the list archives and Google but can't find an answer. > > On Tue, Jan 04, 2005 at 01:34:50AM +0100, Andi Kleen wrote: > > Post 2.6.10 x86-64 will support more CPUs. 2.6.10 actually does too, > > but the Kconfig hadn't been changed then. Previously there was an > > 8 CPU APIC driver limit, however it turned out later that it doesn't > > apply to some Opteron machines. > > Barring cpus with a different onboard interrupt controller from the > xAPIC or the use of external interrupt controllers to assist with cpu > addressing, 255 serves as an architectural limit for Opteron as well. Yes, 255 is the limit, but not 8. Opteron can enable a special flat mode that allows flat APIC addressing upto 255. I assume the BIOS will set that bit on machines with that many CPUs. I recently audited the flat APIC code and I think it should work without changes to 255 CPUs, but I wasn't able to test it so far. However 2.6.10 supports clustered mode now anyways, so you could probably use more CPUs given the right x86-64 IBM machine. I don't know if that has been tested so far. The change to extend NR_CPUs and the max number of nodes just went into Linus' tree, you would need a recent bk snapshot. http://linux.bkbits.net:8080/linux-2.6/cset@41da1ff62QYI89HDgrcKwnBAz6wgQg?nav=index.html|ChangeSet@-1d -Andi ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-01-04 11:10 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-01-03 14:00 Max CPUs on x86_64 under 2.6.x Colin Coe 2005-01-03 22:15 ` William Lee Irwin III 2005-01-04 0:17 ` Colin Coe 2005-01-04 2:12 ` William Lee Irwin III 2005-01-04 0:34 ` Andi Kleen 2005-01-04 2:20 ` William Lee Irwin III 2005-01-04 11:09 ` Andi Kleen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).