From owner-freebsd-stable@FreeBSD.ORG Tue Mar 23 08:15:43 2004 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9D0E116A4CE for ; Tue, 23 Mar 2004 08:15:43 -0800 (PST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 804C943D3F for ; Tue, 23 Mar 2004 08:15:43 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) i2NGFh82012287; Tue, 23 Mar 2004 08:15:43 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.9p2/8.12.9/Submit) id i2NGFhue012286; Tue, 23 Mar 2004 08:15:43 -0800 (PST) (envelope-from dillon) Date: Tue, 23 Mar 2004 08:15:43 -0800 (PST) From: Matthew Dillon Message-Id: <200403231615.i2NGFhue012286@apollo.backplane.com> To: Dmitry Morozovsky References: <200403201941.i2KJf6Ml095658@apollo.backplane.com> <200403202244.i2KMiRth096273@apollo.backplane.com> <20040323152935.A3107@woozle.rinet.ru> cc: freebsd-stable@freebsd.org Subject: Re: Urk, I take it back (was Re: Bug in p_estcpu handling onprocess exit in FBsd-4.x) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2004 16:15:43 -0000 :In case abyone interested the patch for stable as of today is attached. : :Sincerely, :D.Marck [DM5020, MCK-RIPE, DM3-RIPN] That looks good. One additional note: this has been working extremely well for us so far. I can run make -j 8 buildworld's on my workstation and X remains completely smooth. One person complained about mpg321 becoming jerky in the face of a make -j 8. But I'm not sure there is an easy way for any scheduler to check for that case since on a slow machine mpg321 is essentially cpu bound (though perhaps the kernel could flag processes talking to particular devices). Nicing it down to -1, or nicing the buildworld to +1, solves the problem. This scheduler change also has the interesting side effect of exposing bugs in make -j n buildworld's (missing .ORDER's and dependancies) because new child processes do not get cpu instantly. I just recently made a bunch of mostly minor commits to DFly to correct most of buildworld's parallel-make issues. Without the changes things like mkdir -p in crypto and helper-generated header files would race and one out of every 6 -j 4 buildworlds would fail. With the changes I have so far been able to run through 40 -j 4 buildworlds without error. -Matt