Re: continuing excessive parallelism building go

Jonathan Perkin <[email protected]> Fri, 8 May 2026 14:58:25 +0100
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
* On 2026-05-08 at 14:43 BST, Greg Troxel wrote:

>Are other people seeing this?  If you build go126, with MAKE_JOBS=2, on
>a computer with a highish nw.ncpu, do you find that the load average
>impact is only 2, or is it even more than MAKE_JOBS*hw.ncpu?

I haven't noticed it with go, but I see it with various python builds 
still, where each will spawn ncpu build threads regardless of MAKE_JOBS, 
and as py*-foo are often built simultaneously this completely swamps my 
32-core host for an extended period and ends up with something like 150 
concurrent compile processes.

>I see that this MAKE_JOBS_SAFE=no/GOMAXPROCS pattern exists in
>lang/go/go-module.mk.  That seems to work; I get one compile process
>that seems to max out at 200% cpu when building e.g. hugo.  (It seems
>that it belongs in go-package.mk also.)
>
>+# Respect pkgsrc concurrency limits.
>+MAKE_JOBS_SAFE=		no

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.

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