On 2023.05.12 11:27, Mark Knecht wrote:
On Fri, May 12, 2023 at 7:27 AM Peter Humphrey <pe...@prh.myzen.co.uk>
wrote:
>
> On Friday, 12 May 2023 15:13:08 BST Mark Knecht wrote:
>
> > My opinion: load-average probably works, but we are misunderstanding
> > the documentation.
>
> That's what bothers me the most - that I have a mental block somewhere.
 :(
>
> --
> Regards,
> Peter.

Just for clarity, how are you measuring 'load average'? Just looking at what
is reported in top or something else that takes stats?

So if it's either a documentation issue, or an understanding the
documentation
issue, possibly set up a 'design of experiments'  set of tests? For
instance:

1) Pick 1 semi-large package that spawns a few extra jobs to get built
2) Remove the binaries from your system
3) Ensure all the source is prefetched

4) Build the package with no options measuring load-average

Repeat 2 - 4 using a few different options:

-j 1
-j1 --load-average=40
-j1 --load-aveeage=40.0
-j1 --load-average=4.0
-j1 --load-average=0.4
-j10 --load-average=0.4

etc., and see what happens?
--load-average controls whether or not emerge starts another job/package, so testing by emerging a single package will not actually test this. That's why I suggested running some application to get the load up to 10 (arbitrary number) and then emerging a larger number of small packages. If --load-average is set to anything less than the actual load, it should only launch one package at a time. Having that simple example to add to the bug would give the developers an easy way to test.

I think the fact that Peter's actual load went over 70 is because each individual job/package had no limit on the number of parallel compiles make could kick off. There is likely no bug there. The real problem (as Peter keeps pointing out) is that with the load that high, emerge still starts additional jobs.

Reply via email to