From owner-freebsd-ports@FreeBSD.ORG Fri Apr 13 20:16:47 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5015D16A401; Fri, 13 Apr 2007 20:16:47 +0000 (UTC) (envelope-from peterjeremy@optushome.com.au) Received: from turion.vk2pj.dyndns.org (c220-239-3-125.belrs4.nsw.optusnet.com.au [220.239.3.125]) by mx1.freebsd.org (Postfix) with ESMTP id B299F13C44C; Fri, 13 Apr 2007 20:16:46 +0000 (UTC) (envelope-from peterjeremy@optushome.com.au) Received: from turion.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1]) by turion.vk2pj.dyndns.org (8.13.8/8.13.8) with ESMTP id l3DKGiUV008743; Sat, 14 Apr 2007 06:16:44 +1000 (EST) (envelope-from peter@turion.vk2pj.dyndns.org) Received: (from peter@localhost) by turion.vk2pj.dyndns.org (8.13.8/8.13.8/Submit) id l3DKGi3c008742; Sat, 14 Apr 2007 06:16:44 +1000 (EST) (envelope-from peter) Date: Sat, 14 Apr 2007 06:16:44 +1000 From: Peter Jeremy To: "David Ne?as (Yeti)" Message-ID: <20070413201644.GE836@turion.vk2pj.dyndns.org> References: <200704100452.40574.mail@maxlor.com> <1176227087.27233.8.camel@ikaros.oook.cz> <20070413150619.GA15433@straylight.m.ringlet.net> <1176477047.66557.17.camel@pav.hide.vol.cz> <20070413154354.GP27736@potato.chello.upc.cz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="17pEHd4RhPHOinZp" Content-Disposition: inline In-Reply-To: <20070413154354.GP27736@potato.chello.upc.cz> X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.14 (2007-02-12) Cc: ports@freebsd.org, Pav Lucistnik Subject: Re: parallel builds revisited X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2007 20:16:47 -0000 --17pEHd4RhPHOinZp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2007-Apr-13 17:43:54 +0200, "David Ne?as (Yeti)" = wrote: >implements it. How many ports exist that can fail with N+1 >jobs yet cannot break with N jobs (for N > 1)? As far as I can see, for a port to be safely built with N>1 jobs then it needs to have proper dependency relationships in its build infra- structure (Makefile or equivalent). Once that has been done then the only limit on the number of potential parallel jobs is the host system resources (# cores, RAM, I/O etc). There are definitely cases where increasing N will slow down the build (due to resource contention) but it should still complete correctly. I can see that a port that has incomplete or incorrect dependency relationships may appear to build correctly, most of the time, for some values of N and fail for others. I don't believe it is safe to use parallel building with such a port because system load external to the port build is likely to affect the relative timings of different parts of the port build and may therefore affect the outcome of the port build. I am not sure how many (if any) ports fall into this category (or how to identify them without manually checking their dependency relationships). Can anyone come up with either examples of ports that fall into the second category above or counter-examples to my first paragraph? --=20 Peter Jeremy --17pEHd4RhPHOinZp Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGH+Us/opHv/APuIcRAs3/AKCP0SGAEEyYYirP5q7sO8L5cDYjzACeOUZP onAl0CdXxkVCstyXs9WRI5g= =5xNS -----END PGP SIGNATURE----- --17pEHd4RhPHOinZp--