9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* RE: [9fans] archmp
@ 2004-11-24  5:55 Benjamin Huntsman
  2004-11-24  7:05 ` geoff
  2004-11-24  9:25 ` Christopher Nielsen
  0 siblings, 2 replies; 9+ messages in thread
From: Benjamin Huntsman @ 2004-11-24  5:55 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 532 bytes --]

by the way, do many use Plan 9 on MP systems, or is it just there in-case?

	-----Original Message----- 
	From: jmk@plan9.bell-labs.com [mailto:jmk@plan9.bell-labs.com] 
	Sent: Tue 11/23/2004 9:45 PM 
	To: 9fans@cse.psu.edu 
	Cc: 
	Subject: Re: [9fans] archmp
	
	

	Of course, the other place a specific architecture has to
	deal with MP issues is the MMU. It's possible to make that
	really complicated, but Plan 9 skirts most of that at the
	expense of some performance and generality in odd cases.
	
	--jim
	


[-- Attachment #2.1: Type: text/plain, Size: 292 bytes --]

from postmaster@ethel:
The following attachment had content that we can't
prove to be harmless.  To avoid possible automatic
execution, we changed the content headers.
The original header was:

	Content-Type: application/ms-tnef;
	name="winmail.dat"
	Content-Transfer-Encoding: base64

[-- Attachment #2.2: winmail.dat.suspect --]
[-- Type: application/octet-stream, Size: 3590 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [9fans] archmp
  2004-11-24  5:55 [9fans] archmp Benjamin Huntsman
@ 2004-11-24  7:05 ` geoff
  2004-11-24  9:25 ` Christopher Nielsen
  1 sibling, 0 replies; 9+ messages in thread
From: geoff @ 2004-11-24  7:05 UTC (permalink / raw)
  To: 9fans

Bell Labs has quite a few dual-processor Plan 9 systems and at least
when I was there, a few quad- and eight-processor systems.  I've got
several duals, 9netics.com has a dual or two.  My Plan 9 terminal is a
dual.  It just works.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] archmp
  2004-11-24  5:55 [9fans] archmp Benjamin Huntsman
  2004-11-24  7:05 ` geoff
@ 2004-11-24  9:25 ` Christopher Nielsen
  1 sibling, 0 replies; 9+ messages in thread
From: Christopher Nielsen @ 2004-11-24  9:25 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On Tue, Nov 23, 2004 at 09:55:29PM -0800, Benjamin Huntsman wrote:
> by the way, do many use Plan 9 on MP systems, or is it just there in-case?

i have a dual cpu fileserver. as geoff said, it just
works.

-- 
Christopher Nielsen
"They who can give up essential liberty for temporary
safety, deserve neither liberty nor safety." --Benjamin Franklin


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [9fans] archmp
  2004-11-24  5:54 Benjamin Huntsman
@ 2004-11-24 16:02 ` jmk
  0 siblings, 0 replies; 9+ messages in thread
From: jmk @ 2004-11-24 16:02 UTC (permalink / raw)
  To: 9fans

On Wed Nov 24 00:54:28 EST 2004, BHuntsman@mail2.cu-portland.edu wrote:

> Yes yes... now that's what I was looking for.  I was hunting for where I
> might be able to control (or at least know) on which cpu a program executes
> (or which parts on which cpus), and the memory issues that would result.
> It's all built-in, you say?  What happens if a cpu fails (or is removed)?
> (not that happens very often, (or ever, so far as I've seen) but it's a
> consideration...)  Thanks!!
>

There is currently no capabilility to remove a cpu from the set found at
startup on the x86 in Plan 9. It could be done, though. If a cpu fails you
are in deep trouble in so many ways it's not worth thinking about. That's
not to say we couldn't do a better job and add hot-swap for systems that
can do it.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [9fans] archmp
@ 2004-11-24  5:54 Benjamin Huntsman
  2004-11-24 16:02 ` jmk
  0 siblings, 1 reply; 9+ messages in thread
From: Benjamin Huntsman @ 2004-11-24  5:54 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

[-- Attachment #1: Type: text/plain, Size: 855 bytes --]

Yes yes... now that's what I was looking for.  I was hunting for where I might be able to control (or at least know) on which cpu a program executes (or which parts on which cpus), and the memory issues that would result.  It's all built-in, you say?  What happens if a cpu fails (or is removed)?  (not that happens very often, (or ever, so far as I've seen) but it's a consideration...)  Thanks!!

	-----Original Message----- 
	From: jmk@plan9.bell-labs.com [mailto:jmk@plan9.bell-labs.com] 
	Sent: Tue 11/23/2004 9:45 PM 
	To: 9fans@cse.psu.edu 
	Cc: 
	Subject: Re: [9fans] archmp
	
	

	Of course, the other place a specific architecture has to
	deal with MP issues is the MMU. It's possible to make that
	really complicated, but Plan 9 skirts most of that at the
	expense of some performance and generality in odd cases.
	
	--jim
	


[-- Attachment #2.1: Type: text/plain, Size: 292 bytes --]

from postmaster@ethel:
The following attachment had content that we can't
prove to be harmless.  To avoid possible automatic
execution, we changed the content headers.
The original header was:

	Content-Type: application/ms-tnef;
	name="winmail.dat"
	Content-Transfer-Encoding: base64

[-- Attachment #2.2: winmail.dat.suspect --]
[-- Type: application/octet-stream, Size: 3898 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] archmp
@ 2004-11-24  5:45 jmk
  0 siblings, 0 replies; 9+ messages in thread
From: jmk @ 2004-11-24  5:45 UTC (permalink / raw)
  To: 9fans

Of course, the other place a specific architecture has to
deal with MP issues is the MMU. It's possible to make that
really complicated, but Plan 9 skirts most of that at the
expense of some performance and generality in odd cases.

--jim


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] archmp
  2004-11-24  4:44 Benjamin Huntsman
  2004-11-24  4:55 ` Russ Cox
@ 2004-11-24  5:18 ` jmk
  1 sibling, 0 replies; 9+ messages in thread
From: jmk @ 2004-11-24  5:18 UTC (permalink / raw)
  To: 9fans

On Tue Nov 23 23:45:12 EST 2004, BHuntsman@mail2.cu-portland.edu wrote:
> ... was looking through the files archmp.c, apic.c, and mp.c.(386 only)
> Interestingly, they appear in Inferno too.  Native Inferno can run with SMP?
>
> Is there any documentation on how the mp system works?
> (I know I could always just read the sources, but I'd appreciate someone
> pointing me in the right direction...)  How do we get all the CPU's
> initialized, and can we start/stop them individually after boot?  Also,
> are there MP sources for other cpu types?
>
> Thanks all!
>
> -Ben
>

Plan 9 was designed to run on multiprocessors from the start, MP is not
a bolt-on bag on the side, so 'how the mp system works' is really just how
Plan 9 works. The code in the PC-specific files you mention is mostly to 
to parse the configuration information supplied by the BIOS as to how
many processors there are and how interrupts are routed. The remainder of
the code starts up the processors and deals with the interupt hardware
(a different interrupt controller, the APIC, is used on x86 MP systems).
The fact that the system is inherently designed to run on multiprocessors
means that the architecture-specific code is pretty well isolated to
dealing with startup and interrupts.

The first 'real' Plan 9 fileserver and cpuserver ran on SGI Power series
machines, 2 and 4 processors respectively. Later, the SGI Challenge was
used as a cpuserver. The x86 code is the only MP code available under the
current licence that I am aware of; it's pretty old now too.

--jim


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [9fans] archmp
  2004-11-24  4:44 Benjamin Huntsman
@ 2004-11-24  4:55 ` Russ Cox
  2004-11-24  5:18 ` jmk
  1 sibling, 0 replies; 9+ messages in thread
From: Russ Cox @ 2004-11-24  4:55 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs; +Cc: inferno-list

> Is there any documentation on how the mp system works? 
> (I know I could always just read the sources, but I'd appreciate someone
> pointing me in the right direction...)  How do we get all the CPU's initialized, 
> and can we start/stop them individually after boot?  

The source is the only documentation I know.  The CPUs are not
started/stopped individually after boot.  You've already found the
right files to read.  Start with mpinit() in pc/mp.c, called as 
arch->intrinit() in pc/main.c.

> Also, are there MP sources for other cpu types?

Plan 9 has run on other multiprocessors.  The most recent
is the SGI Challenge, but agreements with SGI preclude 
Bell Labs from releasing those sources under the current
license.  The PC kernel is the only multiprocessor architecture
supported in the released sources.

Russ


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [9fans] archmp
@ 2004-11-24  4:44 Benjamin Huntsman
  2004-11-24  4:55 ` Russ Cox
  2004-11-24  5:18 ` jmk
  0 siblings, 2 replies; 9+ messages in thread
From: Benjamin Huntsman @ 2004-11-24  4:44 UTC (permalink / raw)
  To: 9fans; +Cc: inferno-list

... was looking through the files archmp.c, apic.c, and mp.c.(386 only)  Interestingly, they appear in Inferno too.  Native Inferno can run with SMP?
 
Is there any documentation on how the mp system works?  (I know I could always just read the sources, but I'd appreciate someone pointing me in the right direction...)  How do we get all the CPU's initialized, and can we start/stop them individually after boot?  Also, are there MP sources for other cpu types?
 
Thanks all!
 
-Ben
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-11-24 16:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-24  5:55 [9fans] archmp Benjamin Huntsman
2004-11-24  7:05 ` geoff
2004-11-24  9:25 ` Christopher Nielsen
  -- strict thread matches above, loose matches on Subject: below --
2004-11-24  5:54 Benjamin Huntsman
2004-11-24 16:02 ` jmk
2004-11-24  5:45 jmk
2004-11-24  4:44 Benjamin Huntsman
2004-11-24  4:55 ` Russ Cox
2004-11-24  5:18 ` jmk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).