Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Apr 2007 06:16:44 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        "David Ne?as (Yeti)" <yeti@physics.muni.cz>
Cc:        ports@freebsd.org, Pav Lucistnik <pav@freebsd.org>
Subject:   Re: parallel builds revisited
Message-ID:  <20070413201644.GE836@turion.vk2pj.dyndns.org>
In-Reply-To: <20070413154354.GP27736@potato.chello.upc.cz>
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>

next in thread | previous in thread | raw e-mail | index | archive | help

--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)" <yeti@physics.muni.cz> =
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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070413201644.GE836>