Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Max parallelization setting
Date: Wed, 11 Oct 2006 01:17:06
Message-Id: 20061011011616.GA12321@seldon
In Reply to: Re: [gentoo-portage-dev] Max parallelization setting by Marius Mauch
1 On Tue, Oct 10, 2006 at 05:27:07PM +0200, Marius Mauch wrote:
2 > On Tue, 10 Oct 2006 00:04:57 -0700
3 > Brian Harring <ferringb@×××××.com> wrote:
4 >
5 > > I might be daft (likely), but why not just introduce a var indicating
6 > > max parallelization instead? Tweak portage to push that setting into
7 > > MAKEOPTS="${MAKEOPTS+${MAKEOPTS} } -j${PARALLELIZATION}".
8 > >
9 > > Might sound daft, but -j is hardcoded parallelization; if you're
10 > > trying to run 3 build processes, the original var of -j isn't all
11 > > that useful, nor will the hardcoded -j# var set for 3 package build
12 > > processes be useful if you're doing a single build.
13 > >
14 > > Depending on number of seperate package build processes possible, the
15 > > # of build processes allocated per build process needs to vary
16 > > (essentially).
17 >
18 > Seems useful as *alternative* to the low level vars, but shouldn't
19 > replace them (so if the low level vars are set they override the global
20 > setting).
21
22 Well.. heres the failing.
23
24 Say I've got a 32x system; I screw up and have -j32 in my makeopts,
25 and PARALLELIZATION=32.
26
27 Now either the pkg manager needs to understand MAKEOPTS (beyond just
28 adding a simple string to it), and check for -j*, or it's going to
29 wind up allowing 32 seperate build jobs, each with -j32.
30
31 Personally, I *really* would love to see that loadavg (that would be
32 one nifty screenshot).
33
34 Allowing MAKEOPTS to override the alloted build slices the manager
35 hands it totally defeats the purpose of moving the parallelization
36 factor into a seperate var; the intention is to give the manager a
37 max, and allow it to allocate as it needs depending on the # of build
38 jobs that can be ran at that point.
39
40 Theres no point in doing this if the hole it's trying to plug is
41 explicitly allowed; at best you wind up with two different vars you
42 have to keep in sync, at worst, you wind up with the 32*32 exapmle
43 from above.
44
45 Response of course is "don't have -j* in your MAKEOPTS"; well dar,
46 thus why allow it? ;)
47
48 ~harring

Replies

Subject Author
Re: [gentoo-portage-dev] Max parallelization setting Marius Mauch <genone@g.o>
Re: [gentoo-portage-dev] Max parallelization setting Francesco Riosa <BastianBalthazarBux@×××××××××.it>