From owner-freebsd-questions@FreeBSD.ORG Wed Aug 20 02:03:45 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA36616A4BF for ; Wed, 20 Aug 2003 02:03:45 -0700 (PDT) Received: from rutger.owt.com (rutger.owt.com [204.118.6.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0391443F75 for ; Wed, 20 Aug 2003 02:03:45 -0700 (PDT) (envelope-from kstewart@owt.com) Received: from topaz-out (owt-207-41-94-233.owt.com [207.41.94.233]) by rutger.owt.com (8.11.6p2/8.9.3) with ESMTP id h7K93f217584; Wed, 20 Aug 2003 02:03:41 -0700 From: Kent Stewart To: Tillman Hodgson , freebsd-questions@freebsd.org Date: Wed, 20 Aug 2003 02:03:40 -0700 User-Agent: KMail/1.5.3 References: <001c01c36693$68057680$04fea8c0@moe> <20030819221038.S2526@seekingfire.com> In-Reply-To: <20030819221038.S2526@seekingfire.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200308200203.40844.kstewart@owt.com> Subject: Re: Make buildworld failure X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Aug 2003 09:03:45 -0000 On Tuesday 19 August 2003 09:10 pm, Tillman Hodgson wrote: > On Tue, Aug 19, 2003 at 09:03:11PM -0400, Jud wrote: > > On Tue, 19 Aug 2003 15:49:38 -0500, Charles Howse > > > > > > wrote: > > > Very interesting. > > > On page 490 of "FreeBSD Unleashed" it references the -j4 > > > parameter as a way to speed up the make buildworld process by > > > spawning multiple simultaneous processes. > > > > > > The same thing is referenced in Chapter 20 of the FreeBSD > > > Handbook. > > > > > > Is this now depreciated? > > > > Whether deprecated or not, many posts to this mailing list have > > said -j4 doesn't speed up "make buildworld" anyway, and that's been > > my experience. I'm sure it depends on your setup. > > To use -j effectively, try putting /usr/obj and /usr/src on different > drives (ideally, on drives dedicated to the task, meaning a third > drive for the OS itself) and testing with `time make buildkernel -jX` > (where X is greater than 1). You should see a measurable decrease in > compile time even on a single CPU system simply because you can keep > both disks busier. > > On the other hand, if you have only a single CPU and a single disk > and one or the other is maxed out it's unlikely that using -j will > help (as you've seen). > > Chapter 18 of _Absolute BSD_ (Michael Lucas) has a description of > tuning buildkernel. If you compare the output of `top` with `vmstat > 5` while building without -j on a box with a reasonably fast CPU and > a single disk you'll probably see that the CPU is idle for some > percentage of the time, but the number of items under the 'b' column > in vmstat is occassionally above 0. This means that the CPU has > cycles available yet tasks are blocking on disk: classic disk IO > bottlenecking. > > 'Course, as I say all this, building with -j on sparc64 is broken in > -CURRENT at the moment so I'm not using -j for a while. Heh. It's > handy when it works :-) > I have /, /usr/src, and /usr/obj on 3 different HDs/controllers and using -j? is still 10-20% slower than not using it.. On my systems, it only speeded things up when I had more than 1 cpu. Kent -- Kent Stewart Richland, WA http://users.owt.com/kstewart/index.html