lkml.org 
[lkml]   [2021]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [GIT PULL] Modules updates for v5.12
On Wed, Feb 24, 2021 at 5:33 PM Jessica Yu <jeyu@kernel.org> wrote:
>
> +++ Linus Torvalds [23/02/21 12:03 -0800]:
> >On Tue, Feb 23, 2021 at 12:01 PM Christoph Hellwig <hch@lst.de> wrote:
> >>
> >> Does your build now enable TRIM_UNUSED_KSYMS but previously didn't by
> >> chance?
> >
> >Crossed emails.
> >
> >This is plain "make allmodconfig", so yes, now it will enable TRIM_UNUSED_KSYMS.
> >
> >This is unacceptably slow. If that symbol trimming takes 30% of the
> >whole kernel build time, it needs to be fixed or removed.
>
> [ Adding Masahiro to CC ]
>
> It looks like CONFIG_TRIM_UNUSED_KSYMS had been hiding behind
> CONFIG_UNUSED_SYMBOLS all this time, and once the EXPORT_UNUSED_SYMBOL
> stuff was removed, it exposed that option to be selected by
> allyesconfig. That option had previously caused build issues on
> powerpc on linux-next, so I had temporarily marked that as BROKEN on
> powerpc until Masahiro's fix landed in linux-next. I was not aware of
> the additional build slowdown issue :/ In any case, Christoph's
> suggestion to invert the option sounds reasonable, since the mips
> defconfig selects it, it does not seem totally unused.


TRIM_UNUSED_KSYMS builds the tree twice by its concept.

[1] 1st build
At this point of time, we do not know which EXPORT_SYMBOL()
is needed. So, EXPORT_SYMBOL() is enabled, or noop'ed
based on the temporal guess.
(in the fresh build, EXPORT_SYMBOL() are all nooped.)

[2] Get the list of symbols needed to resolve all symbol references.
(this information is collected in include/generated/autoksyms.h)

[3] 2nd build
Rebuild the objects whose EXPORT_SYMBOL()
must be flipped.


The build system cleverly tracks which object needs rebuild.
So, building the tree twice does not mean
the build cost is twice.
But, 30% increase is reasonable.


In my understanding, TRIM_UNUSED_KSYMS is used
by Android. (Generic Kernel Image)
So, we should revive it.






--
Best Regards
Masahiro Yamada

\
 
 \ /
  Last update: 2021-02-24 16:40    [W:0.171 / U:0.716 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site