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

Luca Bocassi
2021-03-15T13:04:23Z

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

On Mon, 2021-03-15 at 12:21 +0000, Richard Purdie wrote:
> On Mon, 2021-03-15 at 11:50 +0000, Luca Boccassi wrote:
> > 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
>
> 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...
>
> Cheers,
>
> Richard

Ok, that's good news then (at least for me!) - in the meanwhile I had a
look at automake anyway, and found out the compile time can be halved
since libcommon and libtcolors are not needed by libuuid:

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

Not sure if worth backporting, as it's just a dozen object files, the
big time chunk is from autoconf anyway.

--
Kind regards,
Luca Boccassi

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