Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Oct 2000 22:30:44 -0500 (CDT)
From:      Mike Meyer <mwm@mired.org>
To:        Nimrod Mesika <nimrodm@bezeqint.net>
Cc:        questions@freebsd.org
Subject:   Re: SMP?
Message-ID:  <14835.45284.914031.164885@guru.mired.org>
In-Reply-To: <99805037@toto.iv>

next in thread | previous in thread | raw e-mail | index | archive | help
Nimrod Mesika writes:
> On Sun, Oct 22, 2000 at 03:50:10PM -0600, jeff_pettorino@non.agilent.com wrote:
> > I am curious about FreeBSD, being a Linux user for some time now, and would
> > like to try it out.  My question is, does FreeBSD support SMP, and if so, to
> > what extent?  I have heard various (and probably un-informed) responses
> > saying NO and YES but limited and poorly integrated....just want to know
> > what I am getting into before I get started!
> 1. Yes. FreeBSD supports SMP (I'm running FreeBSD-4 on a dual-celeron
>    machine).

SMP in FreeBSD 4.x uses one large lock for many shared resources. This
causes all access to any of those resources to be serialized. The end
result is that performance is similar to an asymmetric MP system where
only one processor can run kernel code.

Commercial Eunices have individual locks for each such resources, so
that processes are only serialized if they are accessing the same
resource. This works much better, approaching nearly linear
performance increase as you add processors under a multiuser load.

I'm not familiar with Linux SMP, but I believe it does it closer to
the way the commercial versions do. If that's the case, it'll work
better than FreeBSD 4.0. I've heard reports that some databases that
perform better with more processors on Linux actually perform better
on UP FreeBSD 4.0 than SMP FreeBSD 4.0. I've seen similar behavior on
asymmetric MP systems in the past (BSD-based systems, even).

> 2. There is some work to improve support for SMP (make the kernel
> more scalable). This is done on FreeBSD-5 (The development branch)
> and will not be ready anytime soon. Check out:

Actually, the new code is committed and running on -current. This code
eliminates the "single lock" behavior. There are still parts of the
kernel being converted to the new model, and it's not unusual for
things to break as they are converted. -current has been rockier than
normal lately because of that, but it should be ready when 5.0 is
ready for -RELEASE.

	<mike


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?14835.45284.914031.164885>