Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 May 2005 16:57:47 +0100
From:      Pete French <petefrench@ticketswitch.com>
To:        freebsd-stable@freebsd.org
Subject:   HTT/SMP does not start 2nd processor
Message-ID:  <E1DVX7D-0000gc-Oq@dilbert.firstcallgroup.co.uk>

next in thread | raw e-mail | index | archive | help
I have two P4 machines here, both with processors supporting hyperthreading,
and running identical SMP kernels from 5.4-RELEASE. One runs with two
logical processors and the oother doesn't. This has been puzlling me all day.

On the machine where the second CPU does not start up, HTTP is
enabled in the BIOS, and I get the following in dmesg:

CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (2992.52-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 536739840 (511 MB)
avail memory = 515579904 (491 MB)
MPTable: <COMPAQ   Workstation >
ioapic0: Changing APIC ID to 1
ioapic0: Assuming intbase of 0
ioapic0 <Version 2.0> irqs 0-23 on motherboard

On the one which starts up the 2nd CPU the equivalent part is:

CPU: Intel(R) Xeon(TM) CPU 2.40GHz (2392.04-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Hyperthreading: 2 logical CPUs
real memory  = 536301568 (511 MB)
avail memory = 515137536 (491 MB)
ACPI APIC Table: <DELL   WS 450 >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 8
ioapic1: Changing APIC ID to 9
ioapic2: Changing APIC ID to 10
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 24-47 on motherboard
ioapic2 <Version 2.0> irqs 48-71 on motherboard

So both are reporting 2 logical CPU's, but only the second is then
detecting this as a multiprocessor system. I notice that one syas
it is using an ACPI APIC table and the other (that does not start) is
just finding an MPTable. That seems to be the difference between them.

Does anyone have any suggestions ? I dont really understand how this
stuff is detected, so I am not sure how to sart digging into this. It
is obviously finding a dual CPU processor, so why isn't it then detecting
it as a multiprocessor system ?

*puzzled*

-pcf.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1DVX7D-0000gc-Oq>