6.2-RELEASE does not use second CPU on pentium D

Alex Povolotsky tarkhil at webmail.sub.ru
Wed Apr 25 09:14:36 UTC 2007


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



 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    
                 0       0x14    BSP, usable     15      6       4       


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
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
real memory  = 1046757376 (998 MB)
avail memory = 1015095296 (968 MB)
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

More information about the freebsd-smp mailing list