Date: Mon, 24 Sep 2007 18:44:15 +0100 From: RW <mlt01@mlists.homeunix.com> To: freebsd-questions@freebsd.org Subject: Re: Questions on the scheduler Message-ID: <20070924184415.7bffd7d2@gumby.homeunix.com.> In-Reply-To: <80f4f2b20709240723m121aad88ofaf728f384dd6c20@mail.gmail.com> References: <80f4f2b20709240723m121aad88ofaf728f384dd6c20@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 24 Sep 2007 10:23:40 -0400 "Jim Stapleton" <stapleton.41@gmail.com> wrote: > I've heard a lot of winging about the FreeBSD scheduler from Linux > people, and even saw that is the reason for one fork off of FreeBSD. > > In my experience, I've gotten better performance out of FreeBSD on > single or multi-CPU systems than I have out of Linux or Windows (or > really any other system). > > Are these complains I hear of outdated, Probably. I think you are talking about SMP performance. A few years ago FreeBSD had good performance on single CPUs, but didn't scale very well onto machines with multiple CPUs, unlike Linux and Solaris. The kernel wasn't really designed to work this way and a lot of the code was protected by a single "Giant Lock". Companies like Yahoo and Hotmail (pre-Microsoft) tended to use FreeBSD where the load could be shared between many low-end machines. The FreeBSD response was to make the kernel more SMP friendly with finer-grained locking, and to bring-in the ULE scheduler. Dragonfly BSD was a fork off 4.x by people who thought a more radical kernel rewrite was needed. Their kernel avoids a lot of the locking problems by using message queues. As I understand it the locking problems were addressed in 5/6-current. There are still problems with the ULE scheduler in 6.x, but they have been fixed in 7-current, and things scale roughly as they should with multiple cores/cpus.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070924184415.7bffd7d2>