Re: [PATCH] kbuild: pass jobserver to cmd_ld_vmlinux.o

From: Sedat Dilek
Date: Sat Jun 18 2022 - 01:58:38 EST


On Fri, Jun 17, 2022 at 9:34 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
> On Fri, Jun 17, 2022 at 07:50:58PM +0200, Sedat Dilek wrote:
> > On Fri, Jun 17, 2022 at 6:32 PM Nick Desaulniers
> > <ndesaulniers@xxxxxxxxxx> wrote:
> > >
> > > On Fri, Jun 17, 2022 at 3:35 AM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> > > >
> > > > On Fri, Jun 17, 2022 at 12:53 AM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> > > > >
> > > > > On Thu, Jun 16, 2022 at 4:09 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> > > > > >
> > > > > > On Thu, Jun 16, 2022 at 12:45 PM Jiri Slaby <jslaby@xxxxxxx> wrote:
> > > > > > >
> > > > > > > Until the link-vmlinux.sh split (cf. the commit below), the linker was
> > > > > > > run with jobserver set in MAKEFLAGS. After the split, the command in
> > > > > > > Makefile.vmlinux_o is not prefixed by "+" anymore, so this information
> > > > > > > is lost.
> > > > > > >
> > > > > > > Restore it as linkers working in parallel (esp. the LTO ones) make a use
> > > > > > > of it.
> > >
> > > TBH, I agree with Masahiro. I didn't understand this comment "esp. the
> > > LTO ones." Jiri, can you clarify what you mean here?
> > >
> > > > [ CC Nathan and Sami ]
> > > >
> > > > I re-checked as my build-time takes approx. 15mins more than usual
> > > > with Linux v5.17.
> > > >
> > > > [ Perf - seconds time elapsed ]
> > > > v5.17: approx. 12500
> > > > v5.19: approx. 13500
> > > >
> > > > +1.000 secs = +16,67mins
>
> So roughly 7.5% increase if I did my math correctly?
>
> > > Does this patch make a difference?
> > > https://lore.kernel.org/linux-kbuild/20220616195759.3214538-1-samitolvanen@xxxxxxxxxx/
> > >
> >
> > Running a new build...
>
> I did a quick benchmark with Fedora's clang 14.0.0 and I didn't see an
> increase of that proportion with your configuration (only about 1%,
> which I would expect would be within the noise for new drivers and
> such):
>
> Benchmark 1: 5.17
> Time (abs ≡): 287.744 s [User: 23497.818 s, System: 4444.602 s]
>
> Benchmark 2: 5.19-rc2
> Time (abs ≡): 290.027 s [User: 24567.290 s, System: 4834.458 s]
>
> Summary
> '5.17' ran
> 1.01 times faster than '5.19-rc2'
>
> Not to say that there is not an issue but it might be more visible with
> slower hardware.
>

@Nick Desaulniers
I applied the patch.
Seen from build-time not really measurable.
Noticed some binary size reduction.

@Nathan Chancellor
Yeah, that I was thinking, too.
This is due to the number of driver (and modules) increased.

And of course the changes to kbuild-system.
It's hard to compare.

Surely, ancient CPU (10 years) plus HDD etc.

-Sedat-