1 |
Brian Harring ha scritto: |
2 |
> On Tue, Oct 10, 2006 at 05:27:07PM +0200, Marius Mauch wrote: |
3 |
> |
4 |
>> On Tue, 10 Oct 2006 00:04:57 -0700 |
5 |
>> Brian Harring <ferringb@×××××.com> wrote: |
6 |
>> |
7 |
>> |
8 |
>>> I might be daft (likely), but why not just introduce a var indicating |
9 |
>>> max parallelization instead? Tweak portage to push that setting into |
10 |
>>> MAKEOPTS="${MAKEOPTS+${MAKEOPTS} } -j${PARALLELIZATION}". |
11 |
>>> |
12 |
>>> Might sound daft, but -j is hardcoded parallelization; if you're |
13 |
>>> trying to run 3 build processes, the original var of -j isn't all |
14 |
>>> that useful, nor will the hardcoded -j# var set for 3 package build |
15 |
>>> processes be useful if you're doing a single build. |
16 |
>>> |
17 |
>>> Depending on number of seperate package build processes possible, the |
18 |
>>> # of build processes allocated per build process needs to vary |
19 |
>>> (essentially). |
20 |
>>> |
21 |
>> Seems useful as *alternative* to the low level vars, but shouldn't |
22 |
>> replace them (so if the low level vars are set they override the global |
23 |
>> setting). |
24 |
>> |
25 |
> |
26 |
> Well.. heres the failing. |
27 |
> |
28 |
> Say I've got a 32x system; I screw up and have -j32 in my makeopts, |
29 |
> and PARALLELIZATION=32. |
30 |
> |
31 |
> Now either the pkg manager needs to understand MAKEOPTS (beyond just |
32 |
> adding a simple string to it), and check for -j*, or it's going to |
33 |
> wind up allowing 32 seperate build jobs, each with -j32. |
34 |
> |
35 |
> Personally, I *really* would love to see that loadavg (that would be |
36 |
> one nifty screenshot). |
37 |
> |
38 |
> Allowing MAKEOPTS to override the alloted build slices the manager |
39 |
> hands it totally defeats the purpose of moving the parallelization |
40 |
> factor into a seperate var; the intention is to give the manager a |
41 |
> max, and allow it to allocate as it needs depending on the # of build |
42 |
> jobs that can be ran at that point. |
43 |
> |
44 |
> Theres no point in doing this if the hole it's trying to plug is |
45 |
> explicitly allowed; at best you wind up with two different vars you |
46 |
> have to keep in sync, at worst, you wind up with the 32*32 exapmle |
47 |
> from above. |
48 |
> |
49 |
> Response of course is "don't have -j* in your MAKEOPTS"; well dar, |
50 |
> thus why allow it? ;) |
51 |
> |
52 |
> ~harring |
53 |
> |
54 |
Not going deep, sincerly I've read too few form the bug and the thread but: |
55 |
I'm lucky and I have a cluster of 32 boxes with distcc each with 32 |
56 |
processors. |
57 |
In such a eco-system the ebuild work is not parallelizable in the |
58 |
cluster but the compiler work is, those are very different things. |
59 |
please keep this in account ;) |
60 |
|
61 |
rgds, |
62 |
Francesco R. |
63 |
-- |
64 |
gentoo-portage-dev@g.o mailing list |