On 2023-11-29, Michael wrote:

> On Monday, 27 November 2023 15:39:33 GMT Peter Humphreey wrote:
>> Hello list,
>> 
>> I still can't see how portage limits the load. Today I'm emerging
>> libreoffice, and it's spending almost the whole time working with 4 CPU
>> threads. But:
>> 
>> $ grep -e '\-j' -e distcc /etc/portage/make.conf
>> EMERGE_DEFAULT_OPTS="--jobs=18 --load-average=30 --backtrack=200 --
>> autounmask=n --keep-going  --nospinner"
>> FEATURES="distcc userfetch buildpkg network-sandbox parallel-install sandbox
>> userpriv usersandbox"
>> MAKEOPTS="-j18"
>> 
>> I found a suggestion to use distcc in the installation handbook, which I
>> hadn't seen there before, so I went searching for it and found how to do it.
>> It usually works well, in this case starting 18 packages before starting LO
>> itself. grep -rw doesn't find '4' anywere relevant under /etc/portage/ .
>> Other times it just doesn't help at all.
>> 
>> What am I missing?
>
> In absence of other contributions I'll offer a theoretical explanation, based 
> on random observations on my systems.

I can't explain the 4, but one thing about this configuration (although
it's possible this has been already discussed before, apologies if
that's the case):

> You have specified as many as 18 packages to be emerged in parallel x up to 
> 18 
> make jobs each.  The result of [18 x 18 = 324] is to be limited by a total 
> load average of 30.
[...]
> Were this to occur the load limit restriction would kick in and you would see 
> only up to 30 jobs listed in top, with individual package processes 
> alternating in the top list of make threads.

The load limit is being set only for emerge, not make, so it would only
affect the decision to start building more packages in parallel. The
already started ongoing builds could still take the load beyond 30, with
more than 30 processes - there is nothing set to prevent that, or is
there?

-- 
Nuno Silva


Reply via email to