Brian Gupta wrote:
> http://www.theregister.co.uk/2007/07/26/sun_2048_thread_niagara/

Sounds like they noticed that the NCPU macro was recently raised from 64 
to 256 for sun4v systems.

"Also of note, we've discovered that Sun's next version of Solaris has 
been tweaked to handle up to 256 cores with an option to stretch all the 
way to 2048 cores. (Sun seems to be interchanging cores and threads at 
this point.)"

The NCPU value is meant to be set to be one higher than the largest CPU 
ID value on the system so that it can be used, for example, to size 
arrays which will be indexed by CPU ID. On a Niagara based system with 8 
cores and 4 "threads" per core, you would have CPU IDs ranging from 0 - 
31, so NCPU would have to be at least 32. If, for example, you wanted to 
create a static array of pointers to each cpu_t structure on the system, 
you could do "cpu_t *my_cpu_array[NCPU]" and then index the array by CPU 
ID. For simplicity's sake, there are many places in the kernel that use 
NCPU to define data structures, despite that is not the most space 
efficient way to go for systems with less CPU "threads" or "strands" 
than NCPU. So if they are referring to the NCPU value, it doesn't 
represent the number of cores that OpenSolaris supports. All of that is 
really a mute point anyway because the NCPU value is set in some sun4u 
platform Makefiles to values over 500.

Haik
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to