Gentoo Archives: gentoo-portage-dev

From: Joakim Tjernlund <Joakim.Tjernlund@××××××××.com>
To: "gentoo-portage-dev@l.g.o" <gentoo-portage-dev@l.g.o>
Subject: Re: [gentoo-portage-dev] emerge getting slower
Date: Tue, 22 Dec 2015 09:00:32
Message-Id: 1450774822.28718.27.camel@infinera.com
In Reply to: Re: [gentoo-portage-dev] emerge getting slower by Zac Medico
1 On Mon, 2015-12-21 at 12:36 -0800, Zac Medico wrote:
2 > On 12/21/2015 12:24 PM, Joakim Tjernlund wrote:
3 > > Lately it feels like emerge has been getting unusual slow to calculate dependencies.
4 > > I did a strace while emerge was running and noticed a lot of:
5 > >
6 > > stat64("/usr/portage/profiles/base/profile.bashrc", {st_mode=S_IFREG|0644, st_size=183, ...}) = 0
7 > > stat64("/usr/portage/profiles/default/linux/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
8 > > directory)
9 > > stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
10 > > directory)
11 > > stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
12 > > directory)
13 > > stat64("/usr/portage/profiles/default/linux/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file
14 > > or directory)
15 > > stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
16 > > directory)
17 > > stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
18 > > directory)
19 > > stat64("/usr/portage/profiles/arch/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
20 > > directory)
21 > > stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No
22 > > such file or directory)
23 > > stat64("/usr/portage/profiles/releases/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
24 > > directory)
25 > > stat64("/usr/portage/profiles/releases/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
26 > > directory)
27 > > stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT
28 > > (No such file or directory)
29 > > stat64("/usr/local/portage/tmv3-target-overlay/profiles/cusfpv3/profile.bashrc", {st_mode=S_IFREG|0644,
30 > > st_size=133, ...}) = 0
31 > > stat64("/etc/portage/profile/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory)
32 > > access("/usr/local/portage/tmv3-target-overlay/dev-libs/apr/apr-1.5.1-r1.ebuild", R_OK) = -1 ENOENT (No
33 > > such file or directory)
34 > > access("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", R_OK) = 0
35 > > stat64("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
36 > > open("/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.1-r1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
37 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
38 > > ioctl(5, TCGETS, 0xbfbb0d88)            = -1 ENOTTY (Inappropriate ioctl for device)
39 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
40 > > _llseek(5, 0, [0], SEEK_CUR)            = 0
41 > > _llseek(5, 0, [0], SEEK_CUR)            = 0
42 > > _llseek(5, 0, [0], SEEK_CUR)            = 0
43 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
44 > > read(5, "DEFINED_PHASES=compile configure"..., 1351) = 1350
45 > > read(5, "", 1)                          = 0
46 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=1350, ...}) = 0
47 > > close(5)                                = 0
48 > > open("/usr/portage/dev-libs/apr/apr-1.5.1-r1.ebuild", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
49 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
50 > > ioctl(5, TCGETS, 0xbfbb0898)            = -1 ENOTTY (Inappropriate ioctl for device)
51 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
52 > > _llseek(5, 0, [0], SEEK_CUR)            = 0
53 > > read(5, "# Copyright 1999-2015 Gentoo Fou"..., 32768) = 4215
54 > > read(5, "", 24576)                      = 0
55 > > read(5, "", 32768)                      = 0
56 > > close(5)                                = 0
57 > > stat64("/usr/portage/profiles/base/profile.bashrc", {st_mode=S_IFREG|0644, st_size=183, ...}) = 0
58 > > stat64("/usr/portage/profiles/default/linux/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
59 > > directory)
60 > > stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
61 > > directory)
62 > > stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
63 > > directory)
64 > > stat64("/usr/portage/profiles/default/linux/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file
65 > > or directory)
66 > > stat64("/usr/portage/profiles/arch/base/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
67 > > directory)
68 > > stat64("/usr/portage/profiles/arch/powerpc/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
69 > > directory)
70 > > stat64("/usr/portage/profiles/arch/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
71 > > directory)
72 > > stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No
73 > > such file or directory)
74 > > stat64("/usr/portage/profiles/releases/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
75 > > directory)
76 > > stat64("/usr/portage/profiles/releases/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or
77 > > directory)
78 > > stat64("/usr/portage/profiles/default/linux/powerpc/ppc32/13.0/profile.bashrc", 0xbfbb02d0) = -1 ENOENT
79 > > (No such file or directory)
80 > > stat64("/usr/local/portage/tmv3-target-overlay/profiles/cusfpv3/profile.bashrc", {st_mode=S_IFREG|0644,
81 > > st_size=133, ...}) = 0
82 > > stat64("/etc/portage/profile/profile.bashrc", 0xbfbb02d0) = -1 ENOENT (No such file or directory)
83 > > access("/usr/local/portage/tmv3-target-overlay/dev-libs/apr/apr-1.5.0-r2.ebuild", R_OK) = -1 ENOENT (No
84 > > such file or directory)
85 > > access("/usr/portage/dev-libs/apr/apr-1.5.0-r2.ebuild", R_OK) = 0
86 > > stat64("/usr/portage/dev-libs/apr/apr-1.5.0-r2.ebuild", {st_mode=S_IFREG|0644, st_size=4047, ...}) = 0
87 > > open("/usr/portage/metadata/md5-cache/dev-libs/apr-1.5.0-r2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
88 > > fstat64(5, {st_mode=S_IFREG|0644, st_size=1341, ...}) = 0
89 > > ioctl(5, TCGETS, 0xbfbb0d88)            = -1 ENOTTY (Inappropriate ioctl for device)
90 > >
91 > >
92 > > Could this constant stating of profile.bashrc account for some slowness?
93 >
94 > The stat calls indicate that it is executing the "depend" phase to
95 > generate ebuild metadata cache, which only happens when data in the
96 > md5-cache directory is stale for some reason. For example, you can see
97 > this happen above for the
98 > /usr/portage/metadata/md5-cache/dev-libs/apr-1.5.1-r1 cache entry. An
99 > eclass-overrides setting in repos.conf can cause this. Are you using
100 > eclass-overrides?
101
102 No, not yet. I do use in layout.conf
103  profile-formats = portage-2 profile-bashrcs profile-set
104
105 profile-bashrcs perhaps?
106 I just did a 
107   egencache --update --update-use-local-desc --update-pkg-desc-index 
108 for all repos on that system and it is still there.
109
110 Then I recalled portage renames my repo to x-portage so I tried
111  egencache --update --update-use-local-desc --update-pkg-desc-index --repo x-portage
112 but that did not help either.
113
114   Jocke

Replies

Subject Author
Re: [gentoo-portage-dev] emerge getting slower Zac Medico <zmedico@g.o>