On a hyperthreaded system, top and gnome system monitor only report one processor

Ville-Pertti Keinonen will+freebsd-current at will.iki.fi
Thu Aug 25 14:50:33 GMT 2005

Jeremie Le Hen wrote:

> It is commonly accepted that HyperThreading decreases performances
> on FreeBSD systems.  Both 4BSD and ULE consider dual-core processors
> as two separates processors.  This is a problem because dual-core
> processors use the same L2 cache for their logical processors (IIRC)
> and therefore we cannot schedule whatever threads on them without
> taking care of not invalidating the cache too much.

You seem to be confusing dual-core and HyperThreading.

Dual-core (and multi-core in general) is "real" SMP; it may or may not 
share various levels of caches (but then again, historically so can SMP 
on machines with multiple separately packaged processors), but there are 
definitely multiple independent CPUs.

HyperThreading (and various non-Intel forms of SMT) doesn't just share 
caches, but there's basically just one CPU with multiple sets of 
registers.  Instructions from several threads can be "in flight" 
simultaneously in the (single) execution core, in order to make better 
use of the resources available...sometimes, for certain types of code.

More information about the freebsd-current mailing list