Subject: Re: Multiprocessor with NetBSD ?
To: None <firstname.lastname@example.org, email@example.com>
From: John Kohl <firstname.lastname@example.org>
Date: 06/03/2001 15:42:55
>>>>> "JT" == Jason R Thorpe <email@example.com> writes:
>>>>> "EF" == Erik Fair <firstname.lastname@example.org> 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
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 <email@example.com>, <firstname.lastname@example.org>
Home page: <http://people.ne.mediaone.net/jtk/>
Bicycled across the USA in 2001!
Riding in the Pan-Massachusetts Challenge <http://www.pmc.org> with my wife