Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Mar 2014 20:44:58 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Warner Losh <imp@bsdimp.com>
Subject:   Re: svn commit: r263778 - in head: bin lib lib/clang sbin share/mk usr.bin usr.sbin
Message-ID:  <7A86F5E9-DBE9-4D3F-B166-C02F8386B722@FreeBSD.org>
In-Reply-To: <20140327181245.GA69977@stack.nl>
References:  <201403262230.s2QMUdH6021943@svn.freebsd.org> <AA90F6B0-3A7A-473D-82C2-CFDFD263E9AC@gmail.com> <20140327181245.GA69977@stack.nl>

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

--Apple-Mail=_4ABB0343-EB17-4279-B172-D88A99B7369C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252

On 27 Mar 2014, at 19:12, Jilles Tjoelker <jilles@stack.nl> wrote:
> On Thu, Mar 27, 2014 at 11:05:00AM -0600, Warner Losh wrote:
>> On Mar 26, 2014, at 4:30 PM, Dimitry Andric <dim@freebsd.org> wrote:
>>> Author: dim
>>> Date: Wed Mar 26 22:30:38 2014
>>> New Revision: 263778
>>> URL: http://svnweb.freebsd.org/changeset/base/263778
>=20
>>> Log:
>>> Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to =
process
>>> all the SUBDIR entries in parallel, instead of serially.  Apply this
>>> option to a selected number of Makefiles, which can greatly speed up =
the
>>> build on multi-core machines, when using make -j.
>=20
>>> This can be extended to more Makefiles later on, whenever they are
>>> verified to work correctly with parallel building.
>=20
>> Why not have this =91opt out=92 rather than =91opt in=92 like it is =
now? Are
>> there any known bad dependencies this introduces?
>=20
> I'm paranoid about build systems ;) It is easy to add dependencies
> across directories and as long as directories are built in sequence,
> nothing goes wrong.
>=20
> In fact, I had enabled SUBDIR_PARALLEL in sys/modules/Makefile as =
well,
> but this caused mysterious failures with some kernels such as mips
> ADM5120.

There are a bunch of other parts that don't really like parallel builds
at the moment.  For example, gnu/usr.bin/binutils needs its libraries
(libbfd.a, etc) built first, before it can link the programs.  Similar
for gnu/usr.bin/cc, which needs libiberty, libcpp, etc before being able
to build the rest of gcc.

Most of these cases can hopefully be solved by adding .WAIT targets at
strategic points in the SUBDIR lists, but this also needs a bit of extra
logic in bsd.subdir.mk.

-Dimitry
=20

--Apple-Mail=_4ABB0343-EB17-4279-B172-D88A99B7369C
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlM0f8sACgkQsF6jCi4glqOTfQCaAkGJu5927wUpXeC6pdZVbRpN
wBQAoMvQEgXk7FN66EWB0z2vlxDcabyC
=DEBK
-----END PGP SIGNATURE-----

--Apple-Mail=_4ABB0343-EB17-4279-B172-D88A99B7369C--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7A86F5E9-DBE9-4D3F-B166-C02F8386B722>