From owner-freebsd-current@FreeBSD.ORG Mon Feb 11 14:49:28 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4E50B14A; Mon, 11 Feb 2013 14:49:28 +0000 (UTC) (envelope-from dc552@hermes.cam.ac.uk) Received: from ppsw-41.csi.cam.ac.uk (ppsw-41.csi.cam.ac.uk [131.111.8.141]) by mx1.freebsd.org (Postfix) with ESMTP id 07C856D3; Mon, 11 Feb 2013 14:49:27 +0000 (UTC) X-Cam-AntiVirus: no malware found X-Cam-SpamDetails: not scanned X-Cam-ScannerInfo: http://www.ucs.cam.ac.uk/email/scanner/ Received: from c120.sec.cl.cam.ac.uk ([128.232.18.120]:54246) by ppsw-41.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587) with esmtpsa (PLAIN:dc552) (TLSv1:AES128-SHA:128) id 1U4uh6-0002nJ-QW (Exim 4.72) (return-path ); Mon, 11 Feb 2013 14:49:20 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Subject: Re: 7+ days of dogfood From: David Chisnall In-Reply-To: <20130211145647.79a01f7e@fabiankeil.de> Date: Mon, 11 Feb 2013 14:49:16 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <5BC7246C-4339-48B1-BC7E-9FF6CE1FEF1C@cl.cam.ac.uk> References: <20130210000723.GA73630@troutmask.apl.washington.edu> <20130211114811.09e56b55@fabiankeil.de> <17E009FB-23FA-4E04-8437-DE81033164DE@FreeBSD.org> <20130211145647.79a01f7e@fabiankeil.de> To: Fabian Keil X-Mailer: Apple Mail (2.1499) Sender: "Dr D. Chisnall" X-Mailman-Approved-At: Mon, 11 Feb 2013 16:37:59 +0000 Cc: freebsd-current@freebsd.org, David Chisnall , Steve Kargl X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2013 14:49:28 -0000 On 11 Feb 2013, at 13:56, Fabian Keil = wrote: > real 350m42.363s > user 253m5.477s > sys 50m0.024s These numbers look a bit wrong. You've got 300 minutes of CPU time, but = 350 minutes of real time. In an ideal world, on your dual-core system = you'd see 150 minutes of real time. Seeing more than 300 implies that = you're spending a lot of time waiting for I/O. The normal = recommendation is to use -j x where x is 1.5 times the number of cores, = or 1x the number of GBs of RAM, whichever is smaller. With only 2GB of = RAM you might have linking problems with -j3, but it's still worth = trying. One of the more serious problems with our current build system is that = it doesn't scale well to large numbers of cores. On a 32-core system, = with -j64, we're very rarely managing to have even 8 things able to run = in parallel. This should be addressed when the bmake import is fully = integrated and we can use meta mode for better dependency tracking. =20 Ninja has a concept of pools, so you can say 'only run one link job at a = time, but you can do two C++ compile jobs or 4 C compile jobs', and it = might be interesting to look at adding something similar to bmake, as = this can improve scalability a lot. David