6.2-RELEASE does not use second CPU on pentium D

Alex Povolotsky tarkhil at webmail.sub.ru
Wed Apr 25 19:20:15 UTC 2007


John Baldwin wrote:
> On Wednesday 25 April 2007 04:47:48 am Alex Povolotsky wrote:
>   
>> Hello!
>>
>> I have a Pentium D box, running 6.2-RELEASE. In dmesg, I see CPU#1 
>> launched, but I never see any process running on it, and mptable shows
>>
>> cluster-one# mptable -verbose
>>
>>
>>     
> ===============================================================================
>   
>> MPTable
>>
>>  looking for EBDA pointer @ 0x040e, found, searching EBDA @ 0x0009e800
>>  searching CMOS 'top of mem' @ 0x0009e400 (633K)
>>  searching default 'top of mem' @ 0x0009fc00 (639K)
>>  searching BIOS @ 0x000f0000
>>
>>  MP FPS found in BIOS @ physical addr: 0x000fe200
>>
>> -------------------------------------------------------------------------------
>>
>> MP Floating Pointer Structure:
>>
>>   location:                     BIOS
>>   physical address:             0x000fe200
>>   signature:                    '_MP_'
>>   length:                       16 bytes
>>   version:                      1.4
>>   checksum:                     0x9f
>>   mode:                         Virtual Wire
>>
>> -------------------------------------------------------------------------------
>>
>> MP Config Table Header:
>>
>>   physical address:             0x000fe210
>>   signature:                    'PCMP'
>>   base table length:            64
>>   version:                      1.4
>>   checksum:                     0x7f
>>   OEM ID:                       ''
>>   Product ID:                   ''
>>   OEM table pointer:            0x00000000
>>   OEM table size:               0
>>   entry count:                  1
>>   local APIC address:           0xfee00000
>>   extended table length:        0
>>   extended table checksum:      0
>>
>> -------------------------------------------------------------------------------
>>
>> MP Config Base Table Entries:
>>
>> --
>> Processors:     APIC ID Version State           Family  Model   Step    
>> Flags
>>                  0       0x14    BSP, usable     15      6       4       
>> 0xbfebfbff
>>
>>
>>     
> ===============================================================================
>   
>> while in dmesg
>>
>> Copyright (c) 1992-2007 The FreeBSD Project.
>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>>         The Regents of the University of California. All rights reserved.
>> FreeBSD is a registered trademark of The FreeBSD Foundation.
>> FreeBSD 6.2-RELEASE-p3 #2: Thu Apr 19 00:19:54 MSD 2007
>>     tarkhil at cluster-one.zinester.com:/usr/obj/usr/src/sys/P4D
>> WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant
>> WARNING: MPSAFE network stack disabled, expect reduced performance.
>> Timecounter "i8254" frequency 1193182 Hz quality 0
>> CPU: Intel(R) Pentium(R) D CPU 2.80GHz (2808.41-MHz 686-class CPU)
>>   Origin = "GenuineIntel"  Id = 0xf64  Stepping = 4
>>   
>>
>>     
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH
>   
>> ,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>>   Features2=0xe49d<SSE3,RSVD2,MON,DS_CPL,EST,CNTX-ID,CX16,<b14>,<b15>>
>>   AMD Features=0x20100000<NX,LM>
>>   AMD Features2=0x1<LAHF>
>> real memory  = 1046757376 (998 MB)
>> avail memory = 1015095296 (968 MB)
>> ACPI APIC Table: <INTEL  DG965SS >
>> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
>>  cpu0 (BSP): APIC ID:  0
>>  cpu1 (AP): APIC ID:  1
>> ioapic0: Changing APIC ID to 2
>> ioapic0 <Version 2.0> irqs 0-23 on motherboard
>>
>> [...]
>> SMP: AP CPU #1 Launched!
>>
>> The kernel is, of course, SMP.
>>
>> What can I do, where can I search for solution?
>>
>> Second core IS enabled in BIOS
>> cluster-one# sysctl hw | grep cpu
>> hw.ncpu: 2
>> hw.acpi.cpu.cx_supported: C1/0
>> hw.acpi.cpu.cx_lowest: C1
>> hw.acpi.cpu.cx_usage: 100.00%
>> cluster-one# sysctl machdep | grep cpu
>> machdep.cpu_idle_hlt: 1
>> machdep.hlt_cpus: 2
>> machdep.hlt_logical_cpus: 0
>> machdep.logical_cpus_mask: 2
>>
>> so second CPU is halted, attempt to start it with sysctl does not help
>> Alex.
>>     
>
> It's seeing it as an HTT thread.  Try 
> changing 'machdep.hyperthreading_allowed'.
>
>   

Well, it is a Pentium D. It is supposed to have two cores, not just 
hyperthreading! How can it be at all?

Alex.




More information about the freebsd-smp mailing list