Messages in this thread Patch in this message | | | Subject | Re: not fixed in 2.4.23-rc3 (was: Re: 2.4.22 SMP kernel build for hyper threading P4) | From | Len Brown <> | Date | 24 Nov 2003 01:19:07 -0500 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |