Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Apr 1997 22:59:55 -0700
From:      David Greenman <dg@root.com>
To:        Ben Black <black@zen.cypher.net>
Cc:        Chuck Robey <chuckr@mat.net>, FreeBSD-SMP@FreeBSD.org
Subject:   Re: SMP 
Message-ID:  <199704280559.WAA02904@root.com>
In-Reply-To: Your message of "Mon, 28 Apr 1997 01:51:20 EDT." <Pine.LNX.3.91.970428014800.32065R-100000@zen.cypher.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
>> 
>> I'm confused, then.  If there's only one kernel, then only one cpu can 
>> run it, so only one cpu can field the system calls.  If both cpu's can 
>> field system calls, then unless they contact the other one to get the 
>> work done, then there must be two copies of the kernel ruinning, right?
>> 
>> I'm probably misunderstanding something.  Maybe you meant only one piece 
>> of software called "kernel" but two cpus running it?
>> 
>
>hence my saying one kernel.  there is a single kernel image in memory and 
>both CPUs execute different (or the same) parts of it at the same time.  
>the single lock is to keep the CPUs from stepping on each other.  when 
>one CPU wants to access a shared resource (and pretty much everything in 
>the kernel is considered shared) then it acquires the mplock, does its 
>business, releases the lock and continues.  if the other CPU has the lock 
>when one wants to acquire it, the second CPU waits.
>
>one kernel, one lock.

   Uh, that's not what happens. There's a single copy of the kernel, but only
one CPU may execute the kernel at a time. The lock is at the outer-most
boundry of the kernel.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704280559.WAA02904>