From owner-freebsd-performance@FreeBSD.ORG Mon Sep 24 14:00:07 2007 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7B9916A41A for ; Mon, 24 Sep 2007 14:00:07 +0000 (UTC) (envelope-from erik@cederstrand.dk) Received: from mail.itu.dk (pluto.itu.dk [130.226.142.18]) by mx1.freebsd.org (Postfix) with ESMTP id A6ACF13C4AC for ; Mon, 24 Sep 2007 14:00:07 +0000 (UTC) (envelope-from erik@cederstrand.dk) Received: from localhost (unknown [10.0.0.3]) by mail.itu.dk (Postfix) with ESMTP id CE90A32D738 for ; Mon, 24 Sep 2007 13:35:16 +0200 (CEST) X-Virus-Scanned: amavisd-new at itu.dk Received: from superman.itu.dk ([130.226.142.5]) by localhost (daredevil.itu.dk [130.226.142.26]) (amavisd-new, port 10024) with ESMTP id lokH1KJz820c for ; Mon, 24 Sep 2007 13:34:45 +0200 (CEST) Received: from [192.168.1.5] (stud1-15.itu.dk [130.226.140.15]) by superman.itu.dk (Postfix) with ESMTP id 9B4E89E66D for ; Mon, 24 Sep 2007 13:34:34 +0200 (CEST) Message-ID: <46F7A0CA.7040009@cederstrand.dk> Date: Mon, 24 Sep 2007 13:34:34 +0200 From: Erik Cederstrand User-Agent: Thunderbird 2.0.0.5 (X11/20070723) MIME-Version: 1.0 To: freebsd-performance@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Optimizing "make release" X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 14:00:08 -0000 Hi! In an effort to run benchmarks on the latest CURRENT on a couple of slave machines, I need to build the distribution sets necessary for an NFS install as fast as possible (the slaves are installing over PXE), but still ending up with something as close as possible to a normal default installation on the slaves. Right now, I'm doing a very basic run to create the distribution sets (using a default make.conf and a 6.2-STABLE build machine): # /cd /usr/src # csup /etc/current-supfile # make buildworld # cd /release # make release BUILDNAME=CURRENT-YYYYMMDDHHMMSS CVSROOT=/home/ncvs CHROOTDIR=/home/chroot Using the above commands, a lot of stuff gets compiled unnecessarily, and the process takes 5-6 hours on a 2GHz P4. I'd like to cut that to 2 hours max. I tried to use some of the NO_* settings in make.conf, but it's not clear to me what I can omit. Some things are needed later in make release (e.g. NO_CXX) even though I don't need a C++ compiler on the slave systems. I also looked a ccache, but I consider it somewhat dangerous, since I need to have an absolutely correct, reproducible installation rather than a fast build. If I ignore documentation distfiles (will this affect benchmarks in any way?), AFAICT the only distribution sets I need are base, proflibs, kernels and (maybe) lib32. Is there a way to get "make release" to do just that? I'm open to other suggestions, of course. Thanks, Erik