Gentoo Archives: gentoo-portage-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] portage-2.2-rc3 parallel merges quit being parallel
Date: Sat, 26 Jul 2008 18:48:39
Message-Id: pan.2008.07.26.18.48.08@cox.net
1 So I'm running the 2.2-rcs and have been seeing blogs about the new
2 parallel merge capacities... Having a dual-dual-core Opteron and having
3 run multiple merges manually for some time, this is VERY welcome news.
4 =8^)
5
6 So after upgrading to -rc3 I set EMERGE_DEFAULT_OPTS to include
7
8 "--jobs=10 --keep-going --load-average=15"
9
10 and tried a few small merges (the rest of the world update). It worked
11 nicely.
12
13 So then, as I had adjusted LDFLAGS recently and hadn't yet done a full
14 world remerge, I decided to try the BIG test, emerge --emptytree --world,
15 with some 674 packages.
16
17 For the first 100 or so packages, it worked quite well. However, about
18 there, maybe package 120 or so, so about 20% of the way thru, it reverted
19 to doing them one-at-a-time again. I'm now on package #279 and it's
20 still doing them only one at a time, and this has included stuff like the
21 xorg-docs (IIRC) package, that really shouldn't be pre-deps for stuff
22 that has come since, so /something/ else should have been trying to
23 merge, as long as load-average stays low, as it has much of the time (I
24 have MAKEOPTS="-j -l20" so it's not going to be low all the time).
25
26 Is this a known issue still being worked on, perhaps due to the limits of
27 the package dependency and scheduling resolution such that it can't
28 handle a full world remerge and defaults back to one-at-a-time after it
29 reaches the extent of its mapping, or is this a new bug?
30
31 Also, a little monitoring utility that could be run in another terminal
32 and just list and update all the currently merging packages, and any that
33 had failed to merge, so I could take a look at them while the system is
34 still working on the rest, would be quite useful. I tried watch ls -d
35 $PORTAGE_TMPDIR/*/* and it starts to work, but of course starts to error
36 in a few seconds when the first package completes since the *s are
37 resolved initially. With a bit of work I'm sure can get something simple
38 working, but it'd be nice if there were a pre-made utility to do it.
39 Maybe there is and I just don't know about it yet? =8^)
40
41 Finally... I was rather confused the first time at just one job an
42 install took a bit, as that's apparently not counted as "running", so it
43 appeared nothing was going on for a bit. Maybe an "installing" count as
44 well would be useful... and prevent that confusion.
45
46 Thanks, guys. It's already fun playing with! =8^)
47
48 --
49 Duncan - List replies preferred. No HTML msgs.
50 "Every nonfree program has a lord, a master --
51 and if you use the program, he is your master." Richard Stallman

Replies