Re: continuing excessive parallelism building go

Jonathan Perkin <[email protected]> Fri, 8 May 2026 16:06:55 +0100
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
* On 2026-05-08 at 15:49 BST, Greg Troxel wrote:

>Jonathan Perkin <[email protected]> writes:
>
>> Why does it need MAKE_JOBS_SAFE=no?  Notably this will cause bob
>> builds that use the dynamic scheduler to be done at -j1.  I realise
>> this is a "I don't care" for most people, but it still seems wrong to
>> be setting that variable yet still expecting to use parallel jobs, and
>> I don't think it's necessary or even correct.
>
>I'm not really sure what you mean "done at -j1".  Do you mean bob's
>scheduler will expect concurrency of 1, but it will actually be
>MAKE_JOBS, and thus be higher than expectations, which is wrong?  If so,
>I see your point.

If you use bob's dynamic scheduler then it will assign a MAKE_JOBS 
setting for each build based on its historical usage, so bigger builds 
will automatically get higher MAKE_JOBS, smaller or builds that have 
shown to not benefit from parallel builds will get lower, etc.

If a package is marked as MAKE_JOBS_SAFE=no then it will be assigned 
MAKE_JOBS=1 regardless.

>  - don't set MAKE_JOBS_SAFE=no, after verifying by code reading that
>    there won't actually be any use of -jN.  Or if there is, set
>    GOMAXPROCS=1 for that package (always, because the -j mechanism has
>    the token).  Consider that passing GOMAXPROCS=1 to 'go build' is how
>    you spell -jN on the command line, and call it right.
>
>and having written that I think the 2nd option is the right answer for
>now.

Yes, I think just remove MAKE_JOBS_SAFE=no.

Thanks,

-- 
Jonathan Perkin                    pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com