Thread (69 messages) 69 messages, 12 authors, 2021-03-26

Re: [OE-core] [PATCH v11] util-linux: split uuid in separate recipe to allow bootstrapping

From: Richard Purdie <hidden>
Date: 2021-03-15 13:57:47

On Mon, 2021-03-15 at 14:55 +0100, Martin Jansa wrote:
On Mon, Mar 15, 2021 at 12:21:37PM +0000, Richard Purdie wrote:
quoted
On Mon, 2021-03-15 at 11:50 +0000, Luca Boccassi wrote:
quoted
On Mon, 2021-03-15 at 10:49 +0000, Richard Purdie wrote:
quoted
On Mon, 2021-03-15 at 10:44 +0000, Luca Boccassi wrote:
quoted
On Sun, 2021-03-14 at 22:10 +0000, Richard Purdie wrote:
quoted
On Thu, 2021-03-11 at 15:09 +0000, luca.boccassi@gmail.com wrote:
quoted
From: Luca Boccassi <redacted>

Recently util-linux gained an (optional) build dependency on libcryptsetup.
But libcryptsetup build-depends on util-linux for blkid (optional, can be disabled)
and uuid (mandatory).
Split out util-linux-uuid in a different recipe to break the cycle.

https://github.com/karelzak/util-linux/pull/898

Signed-off-by: Luca Boccassi <redacted>
Unfortunately I noticed we had a performance regression in buildtimes in 
recent changes. The closest I have this narrowed down to so far:

https://autobuilder.yocto.io/pub/non-release/20210314-14/testresults/buildperf-ubuntu1604/perf-ubuntu1604_master_20210314181831_d42487bf52.html

suggests it may be this change. I have more tests queued to confirm
that definitively, if so we'll have to figure out why as this shouldn't
really happen, its an 8% regression :(.
Very strange that a single recipe could do that - is there something
wrong in the new .bb that I missed and could cause this?
I'm wondering if it is because we're building util-linux twice now and
there is some key choke point in the dependency chain. I have no evidence
for that yet, it is just speculation though.
With the autoconf options I've set, on my laptop it takes 32s to do
configure + make -j2. Most of that is autoconf - make -j2 takes 8s.

Only 3 libraries are built with this combination: libcommon.a,
libtcolors.a, and libuuid.a/so. No executables or anything else is
built. It doesn't look like libtcolors is actually needed, I'll see if
I can prepare a patch to skip it, but I don't think it will buy more
than 1s, it's just two object files.

The good news is that meson support is about to land upstream, which
should be significantly faster than autoconf + make:

https://github.com/karelzak/util-linux/commits/topic/meson
Meson definitely improves the speed! I was wondering if it was from
configure for example.

I now have more performance test results in (takes time to interleave 
them with testing of master):

https://autobuilder.yocto.io/pub/non-release/20210315-1/testresults/buildperf-ubuntu1604/perf-ubuntu1604_master_20210315005048_6bb1621815.html

and I think this means it isn't from the util-linux change but one of 
another three. I'm not entirely convinced those changes could do this
but it is what the data says. 

I've queued more bisection to narrow it down from there...
BTW: this split also needs manual cleanup in the TMPDIR, right?
It shouldn't. The system should spot that util-linux has changed and uninstall
it from the sysroots as it goes. There is something not working right there :(

Cheers,

Richard

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help