From owner-freebsd-questions Sun Feb 25 13:56:00 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id NAA23119 for questions-outgoing; Sun, 25 Feb 1996 13:56:00 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id NAA23104 for ; Sun, 25 Feb 1996 13:55:58 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id OAA00261; Sun, 25 Feb 1996 14:49:48 -0700 From: Terry Lambert Message-Id: <199602252149.OAA00261@phaeton.artisoft.com> Subject: Re: Symmetric Multiprocessing for FreeBSD To: ntakpe@ntakpe.de (Jean Louis Ntakpe) Date: Sun, 25 Feb 1996 14:49:48 -0700 (MST) Cc: questions@freebsd.org In-Reply-To: <313094A2.41C67EA6@ntakpe.de> from "Jean Louis Ntakpe" at Feb 25, 96 05:56:02 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-questions@freebsd.org Precedence: bulk > 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.