From owner-freebsd-questions@FreeBSD.ORG Mon Sep 24 17:44:20 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5492D16A417 for ; Mon, 24 Sep 2007 17:44:20 +0000 (UTC) (envelope-from mlt01+OU=159a59ab@mlists.homeunix.com) Received: from mxout-03.mxes.net (mxout-03.mxes.net [216.86.168.178]) by mx1.freebsd.org (Postfix) with ESMTP id 3B7FE13C481 for ; Mon, 24 Sep 2007 17:44:20 +0000 (UTC) (envelope-from mlt01+OU=159a59ab@mlists.homeunix.com) Received: from gumby.homeunix.com. (unknown [87.81.140.128]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTP id D37555193D for ; Mon, 24 Sep 2007 13:44:18 -0400 (EDT) Date: Mon, 24 Sep 2007 18:44:15 +0100 From: RW To: freebsd-questions@freebsd.org Message-ID: <20070924184415.7bffd7d2@gumby.homeunix.com.> In-Reply-To: <80f4f2b20709240723m121aad88ofaf728f384dd6c20@mail.gmail.com> References: <80f4f2b20709240723m121aad88ofaf728f384dd6c20@mail.gmail.com> X-Mailer: Claws Mail 3.0.0 (GTK+ 2.10.14; i386-portbld-freebsd6.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: Questions on the scheduler X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 17:44:20 -0000 On Mon, 24 Sep 2007 10:23:40 -0400 "Jim Stapleton" 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.