machdep.hlt_logical_cpus being ignored

Jon Falconer jfalconer at puc.edu
Mon May 22 17:51:02 PDT 2006


Greetings All,

I have installed FreeBSD 6.1 Release on a Dell 2850. I is has two Xeon
CPUs. Seeing the comment in the SMP man page about hyperthreading being a
problem in some situations, I added "machdep.hlt_logical_cpus=1" in
/boot/loader.conf file. Upon rebooting, the system still finds four CPUs
and starts all of them. I would have expected it to start only the two
physical CPUs. Am I missunderstanding what machdep.hlt_logical_cpus is
supposed to do? Should I even be concerned about the hyperthreading
problem. This system will be an email server for a small college campus
with about 2000 active accounts.

Also, the man page for SMP say that the machdep.hlt_cpus can be used to
halt a specific CPU. I have not set this value, but sysctl shows it has a
value of 10, even before I set the machdep.hlt_logical_cpus to 1. Why
would this be the default value? I would think this would mean that one of
the system CPUs is halted. But dmesg output claims it launched four CPUs.

Can someone fill me in on what this all means?

Thanks,

Jon

%dmesg
Copyright (c) 1992-2006 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 6.1-RELEASE #0: Thu May 18 18:49:35 PDT 2006
    sysadmin at ecf3.puc.edu:/usr/obj/usr/src/sys/ECF
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 3.00GHz (2992.70-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf43  Stepping = 3

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=0x641d<SSE3,RSVD2,MON,DS_CPL,CNTX-ID,CX16,<b14>>
  AMD Features=0x20100000<NX,LM>
  Logical CPUs per core: 2
real memory  = 2147221504 (2047 MB)
avail memory = 2100469760 (2003 MB)
ACPI APIC Table: <DELL   PE BKC  >
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: Changing APIC ID to 8
ioapic1: Changing APIC ID to 9
ioapic1: WARNING: intbase 32 != expected base 24
ioapic2: Changing APIC ID to 10
ioapic2: WARNING: intbase 64 != expected base 56
ioapic3: Changing APIC ID to 11
ioapic3: WARNING: intbase 96 != expected base 88
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 32-55 on motherboard
ioapic2 <Version 2.0> irqs 64-87 on motherboard
ioapic3 <Version 2.0> irqs 96-119 on motherboard
kbd1 at kbdmux0
acpi0: <DELL PE BKC> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0

<...cut...>

SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
SMP: AP CPU #2 Launched!
Trying to mount root from ufs:/dev/amrd0s1a
Accounting enabled
em0: link state changed to UP
%

%sysctl -a | grep -i cpu
kern.threads.virtual_cpu: 4
kern.sched.ipiwakeup.onecpu: 0
kern.ccpu: 1948
kern.smp.maxcpus: 16
kern.smp.cpus: 4
debug.cpufreq.lowest: 0
debug.cpufreq.verbose: 0
debug.kdb.stop_cpus: 1
debug.PMAP1changedcpu: 0
hw.model: Intel(R) Xeon(TM) CPU 3.00GHz
hw.ncpu: 4
hw.acpi.cpu.cx_supported: C1/0
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu.cx_usage: 100.00%
machdep.cpu_idle_hlt: 1
machdep.hlt_cpus: 10
machdep.hlt_logical_cpus: 1
machdep.logical_cpus_mask: 10
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.2.%desc: ACPI CPU
dev.cpu.2.%driver: cpu
dev.cpu.2.%location: handle=\_PR_.CPU2
dev.cpu.2.%pnpinfo: _HID=none _UID=0
dev.cpu.2.%parent: acpi0
dev.cpu.3.%desc: ACPI CPU
dev.cpu.3.%driver: cpu
dev.cpu.3.%location: handle=\_PR_.CPU3
dev.cpu.3.%pnpinfo: _HID=none _UID=0
dev.cpu.3.%parent: acpi0
%




More information about the freebsd-questions mailing list