Re: [GIT PULL] Modules updates for v5.12

From: Masahiro Yamada
Date: Wed Feb 24 2021 - 10:46:52 EST


On Wed, Feb 24, 2021 at 11:46 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> On Wed, Feb 24, 2021 at 11:13 PM Jessica Yu <jeyu@xxxxxxxxxx> wrote:
> >
> > +++ Christoph Hellwig [24/02/21 08:52 +0100]:
> > >On Tue, Feb 23, 2021 at 12:07:39PM -0800, Linus Torvalds wrote:
> > >> On Tue, Feb 23, 2021 at 12:03 PM Linus Torvalds
> > >> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > >> >
> > >> > This is unacceptably slow. If that symbol trimming takes 30% of the
> > >> > whole kernel build time, it needs to be fixed or removed.
> > >>
> > >> I think I'm going to mark TRIM_UNUSED_KSYMS as "depends on BROKEN".
> > >> There's no way I can accept that horrible overhead, and the rationale
> > >> for that config option is questionable at best,
> > >
> > >I think it is pretty useful for embedded setups.
> > >
> > >BROKEN seems pretty strong for something that absolutely works as
> > >intendended. I guess to make you (and possibly others) not grumpy
> > >we just need to ensure it doesn't get pulled in by allmodconfig.
> > >
> > >So maybe just invert the symbol, default the KEEP_UNUSED_SYMBOL, and
> > >add a message to the helptext explaining the slowdown?
> >
> > Hm, something like this maybe? (untested)
>

A patch attached, if Linus is OK to re-enable this.



--
Best Regards
Masahiro Yamada
From 2eb88648aff9547d1c10df841d1ac61ac2369df6 Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Date: Wed, 24 Feb 2021 23:52:54 +0900
Subject: [PATCH] Kbuild: re-enable TRIM_UNUSED_KSYMS under the condition of
!COMPILE_TEST

This option is useful for embedded systems, and acutally used by the
MIPS generic_defconfig. Commit 1518c633df78 ("kbuild: allow symbol
whitelisting with TRIM_UNUSED_KSYMS") also states this is used by
Android Generic Kernel Image. I guess somebody will start complaining.

Disable this only for COMPILE_TEST so it is hidden for all{yes,mod}config.

Fixes: 5cf0fd591f2e ("Kbuild: disable TRIM_UNUSED_KSYMS option")
Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---
init/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index 2ff0b5a50736..135e2129e04b 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2273,7 +2273,7 @@ config MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS

config TRIM_UNUSED_KSYMS
bool "Trim unused exported kernel symbols"
- depends on BROKEN
+ depends on !COMPILE_TEST
help
The kernel and some modules make many symbols available for
other modules to use via EXPORT_SYMBOL() and variants. Depending
--
2.27.0