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-hardware
mailing list