Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 1997 12:42:21 +0800
From:      Peter Wemm <peter@spinner.dialix.com.au>
To:        Simon Shapiro <Shimon@i-connect.net>
Cc:        Christopher Petrilli <petrilli@amber.org>, smp@FreeBSD.ORG, Peter Stubbs <peters@gil.com.au>, Kyle Mestery <mestery@winternet.com>
Subject:   Re: A how does it work question. 
Message-ID:  <199708280442.MAA19432@spinner.dialix.com.au>
In-Reply-To: Your message of "Wed, 27 Aug 1997 21:02:27 MST." <XFMail.970827210227.Shimon@i-Connect.Net> 

next in thread | previous in thread | raw e-mail | index | archive | help
Simon Shapiro wrote:
> 
> Hi Christopher Petrilli;  On 27-Aug-97 you wrote: 
> >  In the end, I would think that software would be the conjstriction point
> >  (in fact seperate memory makes it an MPP system, not an AMP/SMP system).
> >  This is the concept behind ccNUMA, etc... 
> >  
> >  Because of the nature of the FreeBSD kernel (and I suppose the probably
> >  applies to Linux, but don't know), all I/O is threaded thru the #0 CPU,
> >  and thereby it becomes a HUGE bottleneck.
> 
> Correct.  I built a Z-80 system like that in 1980.  Worked well because CPU 
> cycles were in short supply.  Disks were amazingly similar to today`s.
> 
> Simon

Again, no, this is not correct.  All cpu's share the IO, interrupt,
scheduling etc load evenly.  Once the FreeBSD kernel is running in SMP
mode, there is no difference at all in behavior between the cpus except
that only cpu#0 will do a final shutdown and reset of the system (an MPSPEC
requirement).

Interrupt handling is interleaved between cpus, but if a cpu is "in" the 
kernel when an interrupt happens, it will handle the interrupt.  This is 
because (for the moment), when one cpu is executing code inside the giant 
lock, the other cpu cannot get into the kernel to service interrupts 
(except for fast interrupts for sio/cy).

It's fully symmetric (all cpu's are equal), just not reentrant enough in
general (yet).

(However, I vaguely recall something about NMI only being handled on the 
BSP though)

Cheers,
-Peter





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