Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Nov 2004 18:48:33 -0800
From:      "Zoltan Frombach" <tssajo@hotmail.com>
To:        <freebsd-current@freebsd.org>
Subject:   SMP vs UP on single P4 CPU systems with hyperthreading
Message-ID:  <BAY2-DAV9tgr3SU0hXC0000427f@hotmail.com>

index | next in thread | raw e-mail

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 


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAY2-DAV9tgr3SU0hXC0000427f>