printk: Make CONSOLE_LOGLEVEL_QUIET configurable
The goal of passing the "quiet" option to the kernel is for the kernel to be quiet unless something really is wrong. Sofar passing quiet has been (mostly) equivalent to passing loglevel=4 on the kernel commandline. Which means to show any messages with a level of KERN_ERR or higher severity on the console. In practice this often does not result in a quiet boot though, since there are many false-positive or otherwise harmless error messages printed, defeating the purpose of the quiet option. Esp. the ACPICA code is really bad wrt this, but there are plenty of others too. This commit makes CONSOLE_LOGLEVEL_QUIET configurable. This for example will allow distros which want quiet to really mean quiet to set CONSOLE_LOGLEVEL_QUIET so that only messages with a higher severity then KERN_ERR (CRIT, ALERT, EMERG) get printed, avoiding an endless game of whack-a-mole silencing harmless error messages. Link: http://lkml.kernel.org/r/20180619115726.3098-1-hdegoede@redhat.com To: Petr Mladek <pmladek@suse.com> To: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by: Petr Mladek <pmladek@suse.com>
This commit is contained in:
parent
375899cddc
commit
22eceb8bf3
|
@ -50,15 +50,15 @@ static inline const char *printk_skip_headers(const char *buffer)
|
|||
/* 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_QUIET 4 /* Shhh ..., when booted with "quiet" */
|
||||
#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, we're now allowing it to be set from
|
||||
* kernel config.
|
||||
* 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[];
|
||||
|
||||
|
|
|
@ -30,6 +30,17 @@ config CONSOLE_LOGLEVEL_DEFAULT
|
|||
usage in the kernel. That is controlled by the MESSAGE_LOGLEVEL_DEFAULT
|
||||
option.
|
||||
|
||||
config CONSOLE_LOGLEVEL_QUIET
|
||||
int "quiet console loglevel (1-15)"
|
||||
range 1 15
|
||||
default "4"
|
||||
help
|
||||
loglevel to use when "quiet" is passed on the kernel commandline.
|
||||
|
||||
When "quiet" is passed on the kernel commandline this loglevel
|
||||
will be used as the loglevel. IOW passing "quiet" will be the
|
||||
equivalent of passing "loglevel=<CONSOLE_LOGLEVEL_QUIET>"
|
||||
|
||||
config MESSAGE_LOGLEVEL_DEFAULT
|
||||
int "Default message log level (1-7)"
|
||||
range 1 7
|
||||
|
|
Loading…
Reference in New Issue