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

Luca Bocassi
2021-03-15T11:50:21Z

[-- Attachment #1: Type: text/plain, Size: 2305 bytes --]

On Mon, 2021-03-15 at 10:49 +0000, Richard Purdie wrote:
> On Mon, 2021-03-15 at 10:44 +0000, Luca Boccassi wrote:
> > On Sun, 2021-03-14 at 22:10 +0000, Richard Purdie wrote:
> > > On Thu, 2021-03-11 at 15:09 +0000, luca.boccassi@gmail.com wrote:
> > > > From: Luca Boccassi <luca.boccassi@microsoft.com>
> > > >
> > > > 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 <luca.boccassi@microsoft.com>
> > >
> > > 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

--
Kind regards,
Luca Boccassi

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 499 bytes --]