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>