Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Mar 2001 15:38:25 -0400
From:      "Jeroen C. van Gelderen" <jeroen@vangelderen.org>
To:        "Dorr H. Clark" <dclark@applmath.scu.edu>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: MP & FreeBSD
Message-ID:  <3AB3BD31.93427FBE@vangelderen.org>
References:  <Pine.GHP.4.21.0103150918460.17514-100000@hpux46.dc.engr.scu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
[Dropped -hackers from the CC.]

Hi Dorr,

"Dorr H. Clark" wrote:
> I have some questions about multi-processing
> and FreeBSD.  If I am using the wrong list(s)
> to ask this, please let me know.  All these
> questions pertain to the x86 variant of FreeBSD.
> 
> I am interested in booting and running FreeBSD
> on a two-processor Tyan motherboard.  I would
> like to know the following information:
> 
> 1) According to the release notes for 4.1.1,
> SMP is not considered a base capability of the OS.
> Is there a separate baseline which is an
> experimental SMP, or are the changes hidden
> behind a particular build flag?  If there
> is a baseline & it is open, can I find out
> a link for downloads?

I think the release notes are somewhat misleading. FreeBSD 4.x
does come with reliable SMP support but the current implementation
is 'bolted onto' a UNIX kernel that was originally written for
single CPU machinery. What this means is that FreeBSD SMP does not
always offer you the utmost in performance, simply because of the
legacy design we are carrying around. 

Don't be too disappointed here, the existing SMP capabilities are
sufficient for a lot of people, especially if the workload doesn't
require too much kernel processing. Only with certain workloads you
might experience suboptimal performance and that problem is being
addressed in the FreeBSD-CURRENT.

In order to get SMP to work you install a vanilla FreeBSD 4.2 (or
4.3 if you care to wait a bit for the release). You then have to
recompile your kernel to enable SMP support (this is easy and 
documented in the handbook). After installing the newly compiled
kernel and rebooting you have rock solid SMP working.

> 2) What is the earliest revision of FreeBSD
> which will boot both CPUs on a dual CPU board?
> Are the changes coherently archived, or do
> they need to be extracted from CVS somewhere?

The earliest reliable version would be 4.x. See above.

> 3) Is there an individual or group leading the
> SMP development?  What are the issues which keep
> this from being a mainstream capability?
> I can't promise any useful output from my work
> but I'd be happy to help with forward progress
> if possible.

As stated above, even though FreeBSD 4.x has SMP support, it is 
decidedly suboptimal implementation from a performance point of 
view. For it to really scale well some radical improvements have 
to be made.

Those radical improvements are currently being worked on in 
FreeBSD's development branch (-CURRENT). Some truly impressive
progress has been made to date and once that work gets finished 
(by the time FreeBSD 5.0 is released) we can truly boast a 
high-performance SMP implementation that will blow the socks of 
the competition.

If you want to delve into these issues more deeply, try:
  http://people.freebsd.org/~jasone/smp/
and subscribe to the FreeBSD-SMP mailing list.

Cheers,
Jeroen
-- 
Jeroen C. van Gelderen - jeroen@vangelderen.org

"If I could save the Union without freeing any slave I would do it;
 and if I could save it by freeing some and leaving others alone I
 would also do that." -- Abraham Lincoln, August 22, 1862

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AB3BD31.93427FBE>