SMP vs UP on single P4 CPU systems with hyperthreading
Zoltan Frombach
tssajo at hotmail.com
Sat Nov 6 18:49:00 PST 2004
I just upgraded my system from a Pentium III to a Pentium 4 with
hyperthreading. This is not a multiprocessor system, as I only have one CPU.
I disabled hyperthreading in the BIOS (it is an AWARD BIOS). Then I
installed FreeBSD 5.3-RELEASE. The first thing I've noticed in dmesg are the
following lines:
CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2806.38-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
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>
Hyperthreading: 2 logical CPUs
So even though I specifically disabled hyperthreading in the BIOS, FreeBSD
5.3 still detects 2 logical CPUs. Is this by design? I guess, it is. So
therefore my question is this: Should I compile an SMP kernel or a UP
kernel? To make my decision more difficult, Scott Long posted recently in a
message the following: "We turned off SMP on i386 and amd64 because it is a
serious performance penalty for UP machines."
Should I look at my single CPU system as a UP machine, as it physically is a
uni processor machine. Or should I enable SMP in the kernel to take
advantage of the "2 logical SPUs" FreeBSD detects - even when I try to
disable this feature of the CPU in the BIOS... What is the official word in
this scenario? I'd really appreciate your advice.
Zoltan
More information about the freebsd-current
mailing list