Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Dec 2019 20:31:15 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        bob prohaska <fbsd@www.zefox.net>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Reverting -current by date.
Message-ID:  <F5C0A02C-7B15-4968-9E41-D8E7E528CDA1@yahoo.com>
In-Reply-To: <20191203021716.GA56261@www.zefox.net>
References:  <20191121031141.GB1837@www.zefox.net> <E752E69D-814C-4182-A2AC-EA15FF69A7B6@yahoo.com> <20191121175817.GA5375@www.zefox.net> <DC498AB2-BCAC-4133-9789-7DFCCF7F928F@yahoo.com> <20191121190903.GB5375@www.zefox.net> <EAC55963-5220-4EA4-87F8-4752BF89CB4F@yahoo.com> <20191126010310.GA26370@www.zefox.net> <254A5077-DE9E-4B6A-9A4D-D9FA2F858F54@yahoo.com> <20191201213920.GA49395@www.zefox.net> <49C39BF2-0F0A-4D79-831C-89A6F853874B@yahoo.com> <20191203021716.GA56261@www.zefox.net>

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


On 2019-Dec-2, at 18:17, bob prohaska <fbsd at www.zefox.net> wrote:

> On Mon, Dec 02, 2019 at 02:11:17PM -0800, Mark Millard wrote:
>>=20
>>=20
>>=20
>> I do not know if your -j2 is with or without MAKE_JOBS
>> being enabled for some or all jobs.
>>=20
>=20
> Possibly that's part of my problem. My system is -current,
> not intentionally modified. Is there an environment
> variable that now needs to be set to enable use of -j on
> the make command line to limit parallelism? It might explain=20
> the behavior seen when using -j2. In that case more than two=20
> compiler instances occur.
>=20

I got the context wrong and my note does not apply for
-j2 directly on the make command line style of doing
port builds. Sorry for the noise.

So ignore my earlier babble. You were directly controlling
the number of targets that are allowed to run in parallel.
(Presuming the port's submakes (if any) are set up to do
appropriately. Also multithreading in a process is not
controlled.)


To explain what I was incorrectly referring to for MAKE_JOBS
. . .

MAKE_JOBS is ports-infrastructure control. Some of the makefiles
use MAKE_JOBS_UNSAFE=3Dyes to disable allowing the make from
running targets in parallel within the job, mostly because they
are known to have internal race conditions or other such that
can break the builds otherwise.

As I remember portmaster allows -m MAKE_JOBS_UNSAFE=3Dyes or
some such to force the issue.

poudriere has control over such when the makefile does
not force MAKE_JOBS_UNSAFE=3DYES and does so via the likes of
(this shows settings that I use, not what you might want):

# grep MAKE_JOBS /usr/local/etc/poudriere.conf
# By default MAKE_JOBS is disabled to allow only one process per cpu
# ALLOW_MAKE_JOBS=3Dyes
ALLOW_MAKE_JOBS=3Dyes
# List of packages that will always be allowed to use MAKE_JOBS
# regardless of ALLOW_MAKE_JOBS. This is useful for allowing ports
#ALLOW_MAKE_JOBS_PACKAGES=3D"pkg ccache py*"
ALLOW_MAKE_JOBS_PACKAGES=3D"pkg ccache py* gcc* llvm* ghc* *webkit* =
*office* chromium* iridium* mongodb*"

poudriere also has a mean of control over how many jobs
it runs at once (when dependencies allow that many):

# grep PARALLEL_JOBS /usr/local/etc/poudriere.conf
# You can override this default by changing PARALLEL_JOBS here, or
# Example to define PARALLEL_JOBS to one single job
# PARALLEL_JOBS=3D1
# be more IO bound and may be worth tweaking. Default: PARALLEL_JOBS * =
1.25
# PREPARE_PARALLEL_JOBS=3D1

I had substituted PARALLEL_JOBS=3D2 for poudriere for your -j2
in my head --without even noticing. This left open the
ALLOW_MAKE_JOBS for poudriere. As you can tell, it has been
a while since I have used make directly for building a port.

Again, sorry for the misdirection.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F5C0A02C-7B15-4968-9E41-D8E7E528CDA1>