only one logical CPU used in Xeon
Robert Heron
robert at heron.pl
Wed Mar 11 03:21:53 PDT 2009
On Mar 11, 2009, at 9:03 AM, Oliver Fromme wrote:
>> I also tried 6.4 with exactly the same wrong results as 6.2.
>
> That's suprising. Actually I think that all fixes to the
> CPU detection code have been backported to 6-stable.
>
Cores are detected correctly, but not used all by default
(hyperthreading_allowed=0).
When I change hyperthreading_allowed to 1 on a running system it
starts to use all cores. When switch back to 0, uses only 1 core of
each cpu.
>> 7.1 is OK, but is has hyperthreading_allowed=1 by default.
>
> What happens if you set hyperthreading_allowed=0 on 7.1?
>
no change. 7.1 uses all cores regardless of value of
hyperthreading_allowed
> Are you 100% sure that your processor are really multi-core
> and not just hyperthreaded? Please post the relevant lines
> from /var/run/dmesg.boot or output from the `dmesg` command
> (as Adrian already suggested), preferably on a recent
> FreeBSD system (i.e. 7.1). The top 25 lines should be
> sufficient.
I have tried 6.2, 6.4 and 7.1 on two different servers. The first
server of them (older) is Intel SE7501HG2 + 2 x Xeon 2.44GHz (2 cores
in each Xeon)
The second one (newer) is Intel S5000VSA + 2 x Xeon 2.66GHz (4 cores
in each Xeon)
================= dmesg 6.2 on the newer hardware ===================
>
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 #1: Sun Mar 8 20:02:38 CET 2009
root@[machine name removed]:/usr/src/sys/i386/compile/
HERON-62-2009-03-08
ACPI APIC Table: <INTEL S5000VSA>
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 2.66GHz (2660.02-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=0xe4bd<SSE3,RSVD2,MON,DS_CPL,VMX,EST,CNTX-
ID,CX16,<b14>,<b15>>
AMD Features=0x20100000<NX,LM>
AMD Features2=0x1<LAHF>
Cores per package: 2
Logical CPUs per core: 2
real memory = 2680160256 (2556 MB)
avail memory = 2622218240 (2500 MB)
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 2
cpu3 (AP): APIC ID: 3
cpu4 (AP): APIC ID: 4
cpu5 (AP): APIC ID: 5
cpu6 (AP): APIC ID: 6
cpu7 (AP): APIC ID: 7
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 24-47 on motherboard
lapic0: Forcing LINT1 to edge trigger
kbd1 at kbdmux0
acpi0: <INTEL S5000VSA> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
cpu1: <ACPI CPU> on acpi0
acpi_throttle1: <ACPI CPU Throttling> on cpu1
acpi_throttle1: failed to attach P_CNT
device_attach: acpi_throttle1 attach returned 6
cpu2: <ACPI CPU> on acpi0
acpi_throttle2: <ACPI CPU Throttling> on cpu2
acpi_throttle2: failed to attach P_CNT
device_attach: acpi_throttle2 attach returned 6
cpu3: <ACPI CPU> on acpi0
acpi_throttle3: <ACPI CPU Throttling> on cpu3
acpi_throttle3: failed to attach P_CNT
device_attach: acpi_throttle3 attach returned 6
cpu4: <ACPI CPU> on acpi0
acpi_throttle4: <ACPI CPU Throttling> on cpu4
acpi_throttle4: failed to attach P_CNT
device_attach: acpi_throttle4 attach returned 6
cpu5: <ACPI CPU> on acpi0
acpi_throttle5: <ACPI CPU Throttling> on cpu5
acpi_throttle5: failed to attach P_CNT
device_attach: acpi_throttle5 attach returned 6
cpu6: <ACPI CPU> on acpi0
acpi_throttle6: <ACPI CPU Throttling> on cpu6
acpi_throttle6: failed to attach P_CNT
device_attach: acpi_throttle6 attach returned 6
cpu7: <ACPI CPU> on acpi0
acpi_throttle7: <ACPI CPU Throttling> on cpu7
acpi_throttle7: failed to attach P_CNT
device_attach: acpi_throttle7 attach returned 6
================== dmesg 7.1 on the older hardware ====================
Copyright (c) 1992-2009 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 7.1-RELEASE #1: Wed Mar 11 10:38:08 CET 2009
root@[machine name removed]:/usr/src/sys/i386/compile/HERON
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 2.40GHz (2392.29-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf25 Stepping = 5
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=0x4400<CNXT-ID,xTPR>
Logical CPUs per core: 2
real memory = 4026466304 (3839 MB)
avail memory = 3942027264 (3759 MB)
ACPI APIC Table: <INTEL S7501HG0>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 6
cpu3 (AP): APIC ID: 7
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
lapic0: Forcing LINT1 to edge trigger
kbd1 at kbdmux0
acpi0: <INTEL S7501HG0> on motherboard
ACPI Warning (dswload-0794): Type override - [DEB_] had invalid type
(Integer) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [MLIB] had invalid type
(Integer) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [DATA] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [SIO_] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [LEDP] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [GPEN] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [GPST] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [GP1N] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [WUES] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [WUSE] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [SBID] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [SWCE] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
ACPI Warning (dswload-0794): Type override - [SMIR] had invalid type
(String) for Scope operator, changed to (Scope) [20070320]
========================================================================
I observed that hardware does not make any difference.
6.2 and 6.4 uses all cores when machdep.hyperthreading_allowed=1
7.1 uses all cores regardless of value of
machdep.hyperthreading_allowed variable.
Regards,
Robert
More information about the freebsd-smp
mailing list