Pandu Poluan wrote:

> On Nov 28, 2011 6:24 AM, "Neil Bothwick" <n...@digimed.co.uk> wrote:
>>
>> On Mon, 28 Nov 2011 00:56:17 +0700, Pandu Poluan wrote:
>>
>> > I don't know where the 'blame' lies, but I've found myself
>> > standardizing on MAKEOPTS=-j3, and PORTAGE_DEFAULT_OPTS="--jobs
>> > --load-average=<1.6*num_of_vCPU>"
>> >
>> > (Yes, no explicit number of jobs. The newer portages are smart 
enough
>> > to keep starting new jobs until the load number is reached)
>>
>> The problem I found with that is the ebuilds load the system lightly 
to
>> start with, before they enter the compile phase, to portage starts 
dozens
>> of parallel ebuilds, then the system gets completely bogged down 
when
>> they start compiling.
>>
> 
> Yes, sometimes that would happen if at the beginning there are
> network-bound ebuilds all downloading their respective distfiles. The 
load
> stays low until they all start ./configure-ing roughly at the same 
time.
> Then all hell breaks loose.
> 
> I successfully mitigate such "load-explosion" by doing a --fetchonly 
step
> first, and keeping MAKEOPTS at low -j (which, in my case, is actually
> required).
> 
> Just to add more info: I use USE=graphite (with some CFLAGS, uh,
> 'enhancements') with gcc-4.5.3. IIRC, I could push MAKEOPTS up to -j5 
(and
> even more, but I ran out of cores) when I was still using gcc-4.4.x 
and no
> USE=graphite.
> 
> Won't file a bug report, though. I have a feeling that my bug report 
re:
> emerge failure will be marked WONTFIX thanks to the 'ricer special' 
CFLAGS
> :-P
> 
> Rgds,

It would be nice if there were some way to mark particular packages 
that should never be compiled in parallel (like the trick for using a 
using a separate, non-tmpfs build directory for large packages). The 
"load-explosion" you describe is bad enough with regular packages but 
when firefox, xulrunner, chromium and libreoffice all decide to start 
compiling at the same time it turns into a complete nightmare.


Reply via email to