Re: [GIT pull] perf/urgent for 5.7-rc2

From: Peter Zijlstra
Date: Mon Apr 20 2020 - 13:40:39 EST


On Mon, Apr 20, 2020 at 09:51:55AM -0700, Linus Torvalds wrote:
> On Mon, Apr 20, 2020 at 12:48 AM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > Fortunately, much of what objtool does against vmlinux.o can be
> > parallelized in a rather straightforward fashion I believe, if we build
> > with -ffunction-sections.
>
> Well, I was actually thinking about a simpler model.
>
> By "link time" I didn't mean "after final link". Yes, there may be
> reasons to do it at that point too (to do any whole-program checks),
> but that wasn't what I meant.
>
> I meant literally doing it in the $(LD) and $(AR) phases, when you
> still have lots of independent object files that you are just about to
> link (or archive - do we even do that any more?) into one.
>
> Then you'd parallelize exactly the same way we do now: one object file
> at a time, and with no real change of semantics.
>
> IOW, what I was thinking that instead of doing it as part of a final
> step after the CC/AS, we'd do it as a preparatory step before the
> LD/AR. Same exact operation, same exact target *.o files, just shifted
> in time.

So my pet peeve is that when objtool errors, or crashes, the .o file
gets deleted and it becomes really hard to debug the situation. I'm
thinking that your suggestion would actually help with that too.

I just don't have enough Kbuild foo to even attempt this :/