home | help
SMP(4)			     Kernel Interfaces Manual			  SMP(4)

NAME
     SMP -- description of the FreeBSD Symmetric MultiProcessor kernel

SYNOPSIS
     options SMP

DESCRIPTION
     The SMP kernel implements symmetric multiprocessor support.

COMPATIBILITY
     Support for multi-processor systems is present for all Tier-1 architectures
     on FreeBSD.  Currently, this includes alpha, i386, ia64, and sparc64.  Sup-
     port is enabled using options SMP.  It is permissible to use the SMP kernel
     configuration on non-SMP equipped motherboards.

I386 NOTES
     For  i386 systems, the SMP kernel supports motherboards that follow the In-
     tel MP specification, version 1.4.  In addition to options SMP,  i386  also
     requires  device apic.  The mptable(1) command may be used to view the sta-
     tus of multi-processor support.

     FreeBSD supports hyperthreading on Intel CPU's on the i386 platform.  Since
     using logical CPUs can cause performance penalties under certain loads, the
     logical CPUs can be disabled by setting the machdep.hlt_logical_cpus sysctl
     to one.

SEE ALSO
     mptable(1), condvar(9), msleep(9), mtx_pool(9), mutex(9), sema(9), sx(9)

HISTORY
     The SMP kernel's early history is not (properly) recorded.  It  was  devel-
     oped  in  a separate CVS branch until April 26, 1997, at which point it was
     merged into 3.0-current.  By this date 3.0-current had already been  merged
     with Lite2 kernel code.

     FreeBSD  5.0  introduced  support	for a host of new synchronization primi-
     tives, and a move towards fine-grained kernel locking rather than	reliance
     on a Giant kernel lock.  The SMPng Project relied heavily on the support of
     BSDi,  who  provided reference source code from the fine-grained SMP imple-
     mentation found in BSD/OS.

     FreeBSD 5.0 also introduced support for SMP on the alpha, ia64, and sparc64
     architectures.

AUTHORS
     Steve Passe <fsmp@FreeBSD.org>

FreeBSD 5.3			December 5, 2002			  SMP(4)

home | help