On Tue, Feb 02, 2021 at 04:02:16PM +0900, Masahiro Yamada wrote: > CONSOLE_LOGLEVEL_DEFAULT is nothing more than a shorthand of > CONFIG_CONSOLE_LOGLEVEL_DEFAULT. > > When you change CONFIG_CONSOLE_LOGLEVEL_DEFAULT from Kconfig, almost > all objects are rebuilt because CONFIG_CONSOLE_LOGLEVEL_DEFAULT is > used in <linux/printk.h>, which is included from most of source files. > > In fact, there are only 4 users of CONSOLE_LOGLEVEL_DEFAULT: > > arch/x86/platform/uv/uv_nmi.c > drivers/firmware/efi/libstub/efi-stub-helper.c > drivers/tty/sysrq.c > kernel/printk/printk.c > > So, when you change CONFIG_CONSOLE_LOGLEVEL_DEFAULT and rebuild the > kernel, it is enough to recompile those 4 files. > > Remove the CONSOLE_LOGLEVEL_DEFAULT definition from <linux/printk.h>, > and use CONFIG_CONSOLE_LOGLEVEL_DEFAULT directly. > > With this, the build system will rebuild the minimal number of objects. > > Steps to confirm it: > > [1] Do the full build > [2] Change CONFIG_CONSOLE_LOGLEVEL_DEFAULT from 'make menuconfig' etc. > [3] Rebuild > > $ make > SYNC include/config/auto.conf > CALL scripts/checksyscalls.sh > CALL scripts/atomic/check-atomics.sh > DESCEND objtool > CHK include/generated/compile.h > CC kernel/printk/printk.o > AR kernel/printk/built-in.a > AR kernel/built-in.a > CC drivers/tty/sysrq.o > AR drivers/tty/built-in.a > CC drivers/firmware/efi/libstub/efi-stub-helper.o > STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o > AR drivers/firmware/efi/libstub/lib.a > AR drivers/built-in.a > GEN .version > CHK include/generated/compile.h > UPD include/generated/compile.h > CC init/version.o > AR init/built-in.a > LD vmlinux.o > ... > > For the same reason, do likewise for CONSOLE_LOGLEVEL_QUIET and > MESSAGE_LOGLEVEL_DEFAULT. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > arch/x86/platform/uv/uv_nmi.c | 2 +- > drivers/firmware/efi/libstub/efi-stub-helper.c | 6 +++--- > drivers/tty/sysrq.c | 4 ++-- > drivers/video/fbdev/core/fbcon.c | 2 +- > drivers/video/fbdev/efifb.c | 2 +- > include/linux/printk.h | 10 ---------- > init/main.c | 2 +- > kernel/printk/printk.c | 6 +++--- > 8 files changed, 12 insertions(+), 22 deletions(-) Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>