Subject: Re: Multiprocessor with NetBSD ?
To: None <,>
From: John Kohl <>
List: current-users
Date: 06/03/2001 15:42:55
>>>>> "JT" == Jason R Thorpe <> writes:
>>>>> "EF" == Erik Fair <> writes:

EF> So far as I can tell, no one in the open-source OS world has SMP 
EF> going yet. Some have a form of MP working, and are being very loose 
EF> with the term "Symmetric Multiprocessing" in the furtherance of their 
EF> marketing...

JT> So, "symmetric multiprocessing", as I have always understood the term,
JT> simply refers to the ability for all processors to run general kernel
JT> code, not necessarily concurrently.  Please correct me if I am simply
JT> confused on this point :-)

I have understood it to mean something more.  Asymmetric multiprocessing
is when there are multiple CPUs but they aren't all equal.  Typically
that means that any of them can run user-level code, but kernel calls
all get funneled to some master CPU.

Symmetric MP to me means that _all_ the kernel code can run on all
processors (including interrupt handling, assuming that it's possible
for the hardware to handle interrupts on all processors--my
understanding is that some HW designs don't let you do this).

SMP also implies relatively fine-grain locks, at least at a subsystem
level (e.g. file system lock for all file system code), and more usually
at the object level (e.g. locks on inodes/vnodes), so that multiple
processes in the kernel simultaneously aren't stalled waiting for
resources.  A single "Big Kernel Lock" doesn't count in my book.

==John Kohl <>, <>
Home page: <>
Bicycled across the USA in 2001!
Riding in the Pan-Massachusetts Challenge <> with my wife