Subject: some questions
To: None <tech-smp@netbsd.org>
From: Simon J. Gerraty <sjg@quick.com.au>
List: tech-smp
Date: 10/02/1999 15:19:59
Ok, I've just re-read the archive of this group and I have a couple of
questions.

My interest is sparc btw - there are 4 cpu's for an SS20 sitting next
to me :-)

I'm getting the impression that most folk on this list consider a Big
Lock (which I _assume_ refers to allowing all CPU's to run kernel mode
and field interrupts, with mutual exclusion) as the first goal towards
SMP.   Much preliminary work appears to have been done towards this end.

One of Paul Kranenburg's first posts to this list offered master/slave
as an alternate initial MP goal.

With the exception of separate run-queues for the master and slave(s),
it would appear that (for sparc at least - thanks Paul, Jason) just
about everything needed is available.

I know that master/slave does not scale brilliantly - I used to work
for a mainframe vendor that still used that model in the mid-80's and
I seem to recall that 3 cpu's was about the optimum (though I cannot
recall whether that was 1 master + 3 slaves, or 2 slaves).  Anyway
after that, the master was running 100% and the slaves were not busy
enough to justify being there.  However, they were still the fastest
OLTP machines on the planet :-)

Given that a master/slave model is far easier to implement as the
non-preemptable kernel mode model of the uniprocessor kernel is
maintained, and that most folk appear to have only 2 cpu's right now,
is it worth doing some work to implement?  It might at least speed up
compiles for people working on SMP :-)

I realise that at this point doing master/slave might be a distraction
from the main game - but it might also provide some satisfaction to
those who have done so much work so far to see some MP actually
happening. 

--sjg