On Friday 22 September 2006 07:56, Ian Pratt wrote:
> The example you give below is a truly bizarre enumeration of CPUs. X86
> does effectively enumerates [nodes][sockets][cores][threads] (in C
> terminology), hence on a hyperthreaded system PCPU 0 and 1 are in the
> same core.


Not all X86 machines work this way.  For Linux, it depends on the order in 
which the processors appear in the SRAT table (or MP table?), as I recall, 
and I imagine the same is true for Xen.   Most system manufacturers write the 
BIOS so that the processor ordering is as you describe.   That is logical 
processors 0 and 1 are both on socket 0, 2 and 3 are on socket 1, etc.   
However, we have encountered BIOS's for AMD procesors which this numbering is 
done with logical 0 and 1 being core 0 on socket 0 and 1, respectively.    
The numbering continues this way, until all sockets have been enumerated, 
then (in a 4-socket system), logical processor 4 is core 1 on socket 0, 5 is 
core 1 on socket 1, etc.   The apparent rationale for this is that IF you 
decide to boot the system with only 4 processors, then you get one active 
core on each socket.

(Here logical processor number is the number that smp_processor_id() returns.)

Ray Bryant
AMD Performance Labs                   Austin, Tx
512-602-0038 (o)                 512-507-7807 (c)

Xen-ppc-devel mailing list

Reply via email to