Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
SMP(4)                 FreeBSD Kernel Interfaces Manual                 SMP(4)

     SMP - description of the FreeBSD Symmetric MultiProcessor kernel

     options SMP

     The SMP kernel implements symmetric multiprocessor support.

     Support for multi-processor systems is present for all Tier-1
     architectures on FreeBSD.  Currently, this includes alpha, i386, ia64,
     and sparc64.  Support is enabled using options SMP.  On most platforms it
     is permissible to use the SMP kernel configuration on non-SMP equipped
     motherboards.  The only exception to this rule is the i386 platform.

     For i386 systems, the SMP kernel supports motherboards that follow the
     Intel MP specification, version 1.4.  In addition to options SMP, i386
     also requires options APIC_IO.  The mptable(1) command may be used to
     view the status of multi-processor support.

     FreeBSD supports hyperthreading on Intel CPU's on the i386 platform.  By
     default, logical CPUs are not used to execute user processes due to
     performance penalties under common loads.  To allow the logical CPUs to
     execute user processes, turn off the machdep.hlt_logical_cpus sysctl by
     setting its value to zero.

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

     The SMP kernel's early history is not (properly) recorded.  It was
     developed 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
     primitives, 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 implementation found in BSD/OS.

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

     Steve Passe <>

FreeBSD 11.0-PRERELEASE        December 5, 2002        FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help