Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Feb 1996 14:49:48 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        ntakpe@ntakpe.de (Jean Louis Ntakpe)
Cc:        questions@freebsd.org
Subject:   Re: Symmetric Multiprocessing for FreeBSD
Message-ID:  <199602252149.OAA00261@phaeton.artisoft.com>
In-Reply-To: <313094A2.41C67EA6@ntakpe.de> from "Jean Louis Ntakpe" at Feb 25, 96 05:56:02 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> I saw for a while a file SMP.tgz (on ftp.freebsd.org). I try to find
> it again without success. Could you tell me where I could get infos
> about SMP for FreeBSD.

It's ftp://freefall.cdrom.com/pub/smp/SMP.tar.Z

To get SMP the easiest way:

1)	Set up a SUP of the CVS tree
2)	Setup a checked out CVS tree for the kernel and usr.sbin
	(at a bare minimum -- you will probably need the rest as
	well).
3)	Check out everything in the tree using the date 28 Oct 94;
	This is *much* easier if you start with a system with 2.0.5
	installed on it.
4)	Build the old config
5)	Get the SMP.tar.Z
6)	Apply the patches
7)	Build the SMP boot include file; you will need it; this
	particular patch doesn't go anywhere very cleanly.  Put
	the file somewhere in the appropriate include path.
8)	Get the mpasm.h file and put it in /sys/i386/include; this
	may not be part of the tar file (I don't know if it was
	updated).
9)	Build yourself a kernel
10)	If you didn't start with a 2.0.5 box, rebuild all of the
	system utilities, especially those used in routing, or the
	reboot will hang.
11)	boot the new kernel (call it something like /mpkern so you
	don't boot it by default).

This will get you low grain parallelism (only one processor in kernel
via trap, interrupt, or exception ata a time).



To get it the hard way:

1)	Set up a SUP of the CVS tree
2)	Get everything in your system up to -current
3)	Contact me for a patch set; it will take me 3-5 days to
	get everything up to date because my FS patches (which
	are SMP related) have not been integrated and so I have
	a couple of lagged source trees lying around.  I will have
	to pick one and unlag it to get you patches for -current.
4)	Apply the patches.
5)	Fix the locore.s file becaue of the incompatible-with-28Oct94
	changes that have gone into it for debugger and other support.
6)	Prepare for additiona GDT/LDT changes that haven't been
	publically announced, but which are coming.

This will get you low grain parallelism; I can provide additional
push-down code, if you integrate my FS patches, to get higher
grain parallelism (one processor in kernel on interrupt or exception,
multiple processors in kernel via trap, some UFS reentrancy).  The
pushdown code would require hand application, since the state varies
from week to week.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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