Gentoo Archives: gentoo-portage-dev

From: Joakim Tjernlund <Joakim.Tjernlund@××××××××.com>
To: "zmedico@g.o" <zmedico@g.o>, "gentoo-portage-dev@l.g.o" <gentoo-portage-dev@l.g.o>
Subject: Re: [gentoo-portage-dev] emerging binary pkgs very slow on ppc32
Date: Thu, 15 Feb 2018 17:08:46
Message-Id: 1518714519.24467.66.camel@infinera.com
In Reply to: Re: [gentoo-portage-dev] emerging binary pkgs very slow on ppc32 by Zac Medico
1 On Wed, 2018-02-14 at 11:53 -0800, Zac Medico wrote:
2 On 02/14/2018 07:49 AM, Joakim Tjernlund wrote:
3 > We got an embedded target which we upded with binary pks(157 in this case) using:
4 > PKGDIR=/opt/fs/osappl04a-r30b-1/usr/portage/packages emerge --rebuilt-binaries --verbose --usepkgonly -NDu @world @cusfpv3
5 > and this takes forever, about 1 hour
6 >
7 > not sure where to start looking for a cause, is this known for ppc32 ?
8
9 No, I haven't seen any reports like this.
10
11 Tested on my x86_64 DE and I find binary pkg install slow there too. The load stays between 1-2 there as well.
12 There is something odd going on I think.
13
14
15 > I got btrfs root FS on 4 core, 1.3 GHz CPU on eMMC media. The rw performance is decent I think.
16 > load avg. about 1.1 so no CPU is not limiting.
17 > sys-apps/portage:
18 > Installed versions: 2.3.19-r1(17:41:24 24/01/18)(ipc native-extensions xattr -build -doc -epydoc -selinux LINGUAS="-ru" PYTHON_TARGETS="python2_7 python3_4 -pypy -python3_5 -python3_6")
19 >
20 > Is there some I can speed up binary pkg emerge?
21 > when stracing I see way too many system calls
22 > but this one stands out, 1 byte reads:
23 >
24 > 17750 16:39:40 brk(0x100d7000) = 0x100d7000
25 > 17750 16:39:40 brk(0x100d6000) = 0x100d6000
26 > 17750 16:39:40 read(0, "d", 1) = 1
27 > 17750 16:39:40 read(0, "e", 1) = 1
28 > 17750 16:39:40 read(0, "c", 1) = 1
29 > 17750 16:39:40 read(0, "l", 1) = 1
30 > 17750 16:39:40 read(0, "a", 1) = 1
31 > 17750 16:39:40 read(0, "r", 1) = 1
32 > 17750 16:39:40 read(0, "e", 1) = 1
33 > 17750 16:39:40 read(0, " ", 1) = 1
34 > 17750 16:39:40 read(0, "-", 1) = 1
35 > 17750 16:39:40 read(0, "x", 1) = 1
36 > 17750 16:39:40 read(0, " ", 1) = 1
37 > 17750 16:39:40 read(0, "A", 1) = 1
38 > 17750 16:39:40 read(0, "=", 1) = 1
39 > 17750 16:39:40 read(0, "\"", 1) = 1
40 > ....
41 > 17750 16:39:43 read(0, "t", 1) = 1
42 > 17750 16:39:43 read(0, "\n", 1) = 1
43 > 17750 16:39:43 read(0, "}", 1) = 1
44 > 17750 16:39:43 read(0, "\n", 1) = 1
45 > 17750 16:39:43 read(0, "", 1) = 0
46 > 17750 16:39:43 write(1, " function _eapply_patch () \n "..., 4345) = 4345
47
48
49 I see what's causing those 1 byte reads, I've filed this bug:
50
51 https://bugs.gentoo.org/647654
52
53
54 Nice, one down!