On Thursday, 30 November 2023 10:16:25 GMT Nuno Silva wrote:
> 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?

As I understand it any tasks the emerge command is spawning, including make 
jobs, will be respectful of the '--load-average 30.0'.  When only MAKEOPTS is 
specified, then a '-l 30.0' would be needed there to apply the same load limit 
average.

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to