Re: not fixed in 2.4.23-rc3 (was: Re: 2.4.22 SMP kernel build forhyper threading P4)

From: Len Brown
Date: Mon Nov 24 2003 - 01:28:15 EST


On Sun, 2003-11-23 at 15:45, Eduard Bloch wrote:
> #include <hallo.h>
> * Brown, Len [Sun, Nov 23 2003, 03:16:11PM]:
> > > weird 1+2xHT mode.

Please try CONFIG_NR_CPUS=8, or apply the patch below to 2.4.23.

smp_boot_cpus() incorrectly assumes that Local APIC ID's are handed out
0,1,2...

But they're handed out 0,1,6,7 on your system. #6 happens to be your
boot CPU, smp_boot_cpus() brings up #0 and #1, and never asks to boot #7
-- thus 3 logical processors. If #0 happened to be your boot processor,
you'd get only 2 logical processors.

cheers,
-Len


===== arch/i386/kernel/smpboot.c 1.17 vs edited =====
--- 1.17/arch/i386/kernel/smpboot.c Mon Nov 3 08:48:33 2003
+++ edited/arch/i386/kernel/smpboot.c Mon Nov 24 01:06:26 2003
@@ -1106,7 +1106,7 @@
*/
Dprintk("CPU present map: %lx\n", phys_cpu_present_map);

- for (bit = 0; bit < NR_CPUS; bit++) {
+ for (bit = 0; bit < MAX_APICS; bit++) {
apicid = cpu_present_to_apicid(bit);

/* don't try to boot BAD_APICID */



-
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/