On Nov 28, 2011 3:21 AM, "Michael Mol" <mike...@gmail.com> wrote:
>
> On Sun, Nov 27, 2011 at 12:56 PM, Pandu Poluan <pa...@poluan.info> wrote:
> > On Nov 27, 2011 5:12 PM, "Michael Mol" <mike...@gmail.com> wrote:
>
> [snip]
>
> >
> > Here's my experience:
> >
> > I always experience emerge failures on my Gentoo VMs if I use
MAKEOPTS=-j>3.
> > Not all packages, but many. Including, IIRC, glibc and gcc.
>
> In my barebones 177-package state, I didn't get any build failures
> from parallel building, either via emerge -j or make -j. I did get one
> failure when I went to install X that worked fine on the second
> attempt.
>

And in my barebones system (172 packages), there are several packages that
reliably fail, even when emerged on their own *sigh*

> > This happens even if I make sure that there's just one emerge job being
> > done. And this happens even if I allocate more vCPUs than -j, on VMware
and
> > XenServer alike.
>
> FWIW, I've been running with MAKEOPTS=-j10 on my Phenom 9650 for over
> a year. It's very rare that something breaks due to the parallel
> build. I think it's happened perhaps three times, and each time was
> resolvable with a retry. YMMV, of course; race conditions are finicky.
>

I have a hunch that the hypervisor had some effects. Most likely, another
VM in the same host has a high enough load that necessitates the Gentoo VM
to be shifted to another (physical) core, and this messes up the timing.

MAKEOPTS=-j3 always succeeds, though. So I'm disinclined to delve deeper
into the issue.

> > 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)
>
> Sweet; I didn't know about Portage's --load-average; I'll definitely
> switch to that instead of -j. Load-driven make plus load-driven
> portage should work beautifully on my system.
>
> I'll steal your 1.6 factor, and give:
>    MAKEOPTS=-j <2*N> -l <1.6*N)
>    PORTAGE_DEFAULT_OPTS="--jobs --load-average<1.6*N>"
> a try.
>

Make sure that make supports non-integer values for -l, though.

> How does that interact with distcc, by the way? I've got two of these
> octo-core Xeon boxes, and I've still got my Phenom 9650--distcc on my
> home network should become very, very nice. And this box is consuming
> 255W at the wall with monitor off, 326W with monitor on. That's not
> bad. Though perhaps I should move to an apartment where heat isn't
> free...
>

Well, I don't use distcc, so I can't speculate. But with plain single
system compilation, my settings have been serving me real well :-)

Rgds,

Reply via email to