Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp82755pxb; Mon, 1 Feb 2021 23:09:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJwUu/I3Z8I4Mif6tAJzYtgDygsPPLDOpQDkAkTKScdjf7lFUg5oQws8IpgEhNWnq6+dsVl6 X-Received: by 2002:a17:906:76c9:: with SMTP id q9mr21539435ejn.484.1612249770505; Mon, 01 Feb 2021 23:09:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612249770; cv=none; d=google.com; s=arc-20160816; b=XB0xx79eq/4/eG15inRaLoYNkuLoiDNqCyV20RkfYtJ66pzDZqqNFxwdkLY5MksqoT gtTcwPxkDuBizZ1SKKTUyl+6vuUT6aEg0hNANiZlz3PM8GwsCbKA45BbBjwj+3iZTLWU WRdi9Q2DeoGAUPGbiqYoCWkTcgjOD1zV4E4ImboV0wHGGIesiF60080zjpG3+S92O7gq dO3q5wgtKqW4C+fzDow4gaDdOwfUJ2F4E221PC4GknO7YdK6Li/W54p3p+pbEVOThidS CE9m9TVUJV7toih6kcXTKSyAU/1x4cWBuFQsx/xECj1tSrxsl8w3BAnJHQUZ154/2Vw3 vW+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=b2jPOlkmNQEQwNHcvOIubOJ6oDXT0fTKYaGEmlHljAI=; b=Ybanez8lw67+7xRnF6GWc1wNlLGgc/x8MdDgNFZYDAvjriaxcL3OPG0k+rhaq7c7KC IgqWlo5nrsV9uQq36klh8YGYJpp/8l9XKmKaHHakQWIpZ96joiLYG9fXzaJgpK/0fwwP 4h4gQZEJDAZjzYXWctNTPlzx3IXJtra6Iw6pNYvZm4xGIoyxo2tyuD11OxUjJqtuJfRk 1r1dGi2QTpIeJJqCySpTkjNFgVcwfh873SlkD64fxdQ8JuSctzsJmUI1yfEx+cldzi7u pJjIC+DiMhXrfqmNnG3bYl4NiiEj1lmAmv2w1zT2J9/8UzDPKU3PwUAE1yJ4mfO7BamP U4XA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=ueStfIRG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m1si11955712eja.95.2021.02.01.23.09.06; Mon, 01 Feb 2021 23:09:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=ueStfIRG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232425AbhBBHIg (ORCPT + 99 others); Tue, 2 Feb 2021 02:08:36 -0500 Received: from conuserg-10.nifty.com ([210.131.2.77]:17938 "EHLO conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232508AbhBBHIS (ORCPT ); Tue, 2 Feb 2021 02:08:18 -0500 Received: from oscar.flets-west.jp (softbank126026094251.bbtec.net [126.26.94.251]) (authenticated) by conuserg-10.nifty.com with ESMTP id 11274eAp003392; Tue, 2 Feb 2021 16:04:40 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com 11274eAp003392 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1612249482; bh=b2jPOlkmNQEQwNHcvOIubOJ6oDXT0fTKYaGEmlHljAI=; h=From:To:Cc:Subject:Date:From; b=ueStfIRG5Kl3BNbhbUI+1XErXYBed+C5Jh8MnATHP9lkxK1OPYAlfvj/RtamHV8zj 9Q/n6GroGELc152fNd91JuIgemZpOSKoDrYe2lBHtgZoEVoBFA9mXcgX10QqawDv1W Xkvrdpy911mi+dNTLCX7d9TGTkt+1gchbISTycZ6/o0LLSxp3l6qG0JFb/Qu9WAZ2U q63DivUoTZYnQmRFXgehWgq7ugRH/r05woY9m3GcizA4e3HmJO1Nq/+GjpvvJvx928 rmgl8QfD3vEHFz0gyu483qLBzG++IuO5AuKr/mRPbysfs5S2yZnraS+0pcbZvmzYqR I5t+s0cWbt1fA== X-Nifty-SrcIP: [126.26.94.251] From: Masahiro Yamada To: linux-kernel@vger.kernel.org, Petr Mladek , Sergey Senozhatsky , Steven Rostedt , John Ogness Cc: Masahiro Yamada , Andy Shevchenko , Ard Biesheuvel , Borislav Petkov , Darren Hart , Dimitri Sivanich , Greg Kroah-Hartman , "H. Peter Anvin" , Ingo Molnar , Jiri Slaby , Mike Travis , Peter Jones , Russ Anderson , Steve Wahl , Thomas Gleixner , dri-devel@lists.freedesktop.org, linux-efi@vger.kernel.org, linux-fbdev@vger.kernel.org, platform-driver-x86@vger.kernel.org, x86@kernel.org Subject: [PATCH 1/3] printk: use CONFIG_CONSOLE_LOGLEVEL_* directly Date: Tue, 2 Feb 2021 16:02:16 +0900 Message-Id: <20210202070218.856847-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 , 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 , 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 --- 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(-) diff --git a/arch/x86/platform/uv/uv_nmi.c b/arch/x86/platform/uv/uv_nmi.c index eafc530c8767..4751299c7416 100644 --- a/arch/x86/platform/uv/uv_nmi.c +++ b/arch/x86/platform/uv/uv_nmi.c @@ -100,7 +100,7 @@ static cpumask_var_t uv_nmi_cpu_mask; * Default is all stack dumps go to the console and buffer. * Lower level to send to log buffer only. */ -static int uv_nmi_loglevel = CONSOLE_LOGLEVEL_DEFAULT; +static int uv_nmi_loglevel = CONFIG_CONSOLE_LOGLEVEL_DEFAULT; module_param_named(dump_loglevel, uv_nmi_loglevel, int, 0644); /* diff --git a/drivers/firmware/efi/libstub/efi-stub-helper.c b/drivers/firmware/efi/libstub/efi-stub-helper.c index aa8da0a49829..3e8d8f706589 100644 --- a/drivers/firmware/efi/libstub/efi-stub-helper.c +++ b/drivers/firmware/efi/libstub/efi-stub-helper.c @@ -12,7 +12,7 @@ #include #include #include -#include /* For CONSOLE_LOGLEVEL_* */ +#include /* For CONSOLE_LOGLEVEL_DEBUG */ #include #include @@ -21,7 +21,7 @@ bool efi_nochunk; bool efi_nokaslr = !IS_ENABLED(CONFIG_RANDOMIZE_BASE); bool efi_noinitrd; -int efi_loglevel = CONSOLE_LOGLEVEL_DEFAULT; +int efi_loglevel = CONFIG_CONSOLE_LOGLEVEL_DEFAULT; bool efi_novamap; static bool efi_nosoftreserve; @@ -213,7 +213,7 @@ efi_status_t efi_parse_options(char const *cmdline) if (!strcmp(param, "nokaslr")) { efi_nokaslr = true; } else if (!strcmp(param, "quiet")) { - efi_loglevel = CONSOLE_LOGLEVEL_QUIET; + efi_loglevel = CONFIG_CONSOLE_LOGLEVEL_QUIET; } else if (!strcmp(param, "noinitrd")) { efi_noinitrd = true; } else if (!strcmp(param, "efi") && val) { diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index 959f9e121cc6..e0ae7793155e 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c @@ -103,7 +103,7 @@ static void sysrq_handle_loglevel(int key) int i; i = key - '0'; - console_loglevel = CONSOLE_LOGLEVEL_DEFAULT; + console_loglevel = CONFIG_CONSOLE_LOGLEVEL_DEFAULT; pr_info("Loglevel set to %d\n", i); console_loglevel = i; } @@ -584,7 +584,7 @@ void __handle_sysrq(int key, bool check_mask) * routing in the consumers of /proc/kmsg. */ orig_log_level = console_loglevel; - console_loglevel = CONSOLE_LOGLEVEL_DEFAULT; + console_loglevel = CONFIG_CONSOLE_LOGLEVEL_DEFAULT; op_p = __sysrq_get_key_op(key); if (op_p) { diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index bf61598bf1c3..75b97268663f 100644 --- a/drivers/video/fbdev/core/fbcon.c +++ b/drivers/video/fbdev/core/fbcon.c @@ -1043,7 +1043,7 @@ static void fbcon_init(struct vc_data *vc, int init) info = registered_fb[con2fb_map[vc->vc_num]]; - if (logo_shown < 0 && console_loglevel <= CONSOLE_LOGLEVEL_QUIET) + if (logo_shown < 0 && console_loglevel <= CONFIG_CONSOLE_LOGLEVEL_QUIET) logo_shown = FBCON_LOGO_DONTSHOW; if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW || diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c index e57c00824965..dfb234a0a59d 100644 --- a/drivers/video/fbdev/efifb.c +++ b/drivers/video/fbdev/efifb.c @@ -160,7 +160,7 @@ static void efifb_show_boot_graphics(struct fb_info *info) } /* Avoid flashing the logo if we're going to print std probe messages */ - if (console_loglevel > CONSOLE_LOGLEVEL_QUIET) + if (console_loglevel > CONFIG_CONSOLE_LOGLEVEL_QUIET) return; /* bgrt_tab.status is unreliable, so we don't check it */ diff --git a/include/linux/printk.h b/include/linux/printk.h index fe7eb2351610..fd34b3aa2f90 100644 --- a/include/linux/printk.h +++ b/include/linux/printk.h @@ -46,22 +46,12 @@ static inline const char *printk_skip_headers(const char *buffer) #define CONSOLE_EXT_LOG_MAX 8192 -/* printk's without a loglevel use this.. */ -#define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT - /* We show everything that is MORE important than this.. */ #define CONSOLE_LOGLEVEL_SILENT 0 /* Mum's the word */ #define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel we let people use */ #define CONSOLE_LOGLEVEL_DEBUG 10 /* issue debug messages */ #define CONSOLE_LOGLEVEL_MOTORMOUTH 15 /* You can't shut this one up */ -/* - * Default used to be hard-coded at 7, quiet used to be hardcoded at 4, - * we're now allowing both to be set from kernel config. - */ -#define CONSOLE_LOGLEVEL_DEFAULT CONFIG_CONSOLE_LOGLEVEL_DEFAULT -#define CONSOLE_LOGLEVEL_QUIET CONFIG_CONSOLE_LOGLEVEL_QUIET - extern int console_printk[]; #define console_loglevel (console_printk[0]) diff --git a/init/main.c b/init/main.c index c68d784376ca..4dfcbf7f24c6 100644 --- a/init/main.c +++ b/init/main.c @@ -236,7 +236,7 @@ static int __init debug_kernel(char *str) static int __init quiet_kernel(char *str) { - console_loglevel = CONSOLE_LOGLEVEL_QUIET; + console_loglevel = CONFIG_CONSOLE_LOGLEVEL_QUIET; return 0; } diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 5a95c688621f..92b93340905c 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -61,10 +61,10 @@ #include "internal.h" int console_printk[4] = { - CONSOLE_LOGLEVEL_DEFAULT, /* console_loglevel */ - MESSAGE_LOGLEVEL_DEFAULT, /* default_message_loglevel */ + CONFIG_CONSOLE_LOGLEVEL_DEFAULT, /* console_loglevel */ + CONFIG_MESSAGE_LOGLEVEL_DEFAULT, /* default_message_loglevel */ CONSOLE_LOGLEVEL_MIN, /* minimum_console_loglevel */ - CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */ + CONFIG_CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */ }; EXPORT_SYMBOL_GPL(console_printk); -- 2.27.0