Subject: Re: Multiprocessor with NetBSD ?
To: Greywolf <greywolf@starwolf.com>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: current-users
Date: 06/06/2001 13:47:35
> + Is cpu0 always going to be the boot processor?  If that's the case,
>   how is it I've seen a Sun start on one processor and halt on
>   another one?

1) netbsd is not solaris.

2) There isn't a 1:1 mapping between scsi bus address and device ids.
The first-attached "cpu0" device may not be the processor with
hardware id 0.

It seems to be common for quad pentium pro systems for the processor
at hardware id 3 to be the boot processor and be attached as cpu0.

3) support for hot-swappable cpu's will happen when someone sends me
hardware ;-)

4) Any cpu can call cpu_reboot(); what happens from that point on is
machine-dependant.  Some hardware may require that the boot cpu halt
the machine; some might not.

> + When you say that all processors handle the clock interrupt, do
> you mean that they all trigger the clock interrupt at some point, or
> that they read it and update internal things accordingly?  (I assume
> the latter, based on the premise that only the boot processor keeps
> the TODC updated.)

Each cpu requires a periodic timer interrupt for scheduler
housekeeping sorts of things (e.g., to notice when a process has
exceeded its timeslice and should be preempted).

On the master cpu, this timer interrupt also maintains the time-of-day
clock.

					- Bill