Re: [PATCH] 2.4.23-rc1: cpu_sibling_map fix

From: James Cleverdon
Date: Thu Nov 13 2003 - 17:14:51 EST


On Thursday 13 November 2003 11:32 am, Nakajima, Jun wrote:
> Can you please explain why the information by CPUID does not work for
> summit-based machine? The CPUID does not reflect the H/W configuration,
> and the BIOS needs to communicate via local APIC Ids instead?
>
> Jun

Easy. Note this bit from Intel's IA-32 manual:

* Local APIC ID (high byte of EBX)--this number is the 8-bit ID that is
assigned to the local APIC on the processor during power up. This
field was introduced in the Pentium 4 processor.

On almost all systems, the value latched in the CPU when it comes out of reset
doesn't change over the life of the system. However, our Summit boxes (and I
suspect most NUMA boxen) have a BIOS that builds the full system out of
smaller building blocks, each of which starts as an independent computer.
The act of doing so means rewriting the local APIC ID register with a
different value. (It turns out that the CPU only latches 6 bits of APIC ID,
but we need 8.)

Thus, we need the patch that reads the APIC ID register instead of just using
the value from cpuid. And we probably won't be the only ones either.

> > -----Original Message-----
[ Snip! ]


--
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/