SMP vs UP on single P4 CPU systems with hyperthreading

From: Zoltan Frombach <tssajo_at_hotmail.com>
Date: Sat, 6 Nov 2004 18:48:33 -0800
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 
Received on Sun Nov 07 2004 - 01:49:00 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:21 UTC