printk: allow setting DEFAULT_MESSAGE_LEVEL via Kconfig
Mandeep Singh Baines [Tue, 22 Mar 2011 23:34:23 +0000 (16:34 -0700)]
We've been burned by regressions/bugs which we later realized could have
been triaged quicker if only we'd paid closer attention to dmesg.  To make
it easier to audit dmesg, we'd like to make DEFAULT_MESSAGE_LEVEL
Kconfig-settable.  That way we can set it to KERN_NOTICE and audit any
messages <= KERN_WARNING.

Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Joe Perches <joe@perches.com>
Cc: Olof Johansson <olofj@chromium.org>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

kernel/printk.c
lib/Kconfig.debug

index a53607e..da8ca81 100644 (file)
@@ -53,7 +53,7 @@ void asmlinkage __attribute__((weak)) early_printk(const char *fmt, ...)
 #define __LOG_BUF_LEN  (1 << CONFIG_LOG_BUF_SHIFT)
 
 /* printk's without a loglevel use this.. */
-#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */
+#define DEFAULT_MESSAGE_LOGLEVEL CONFIG_DEFAULT_MESSAGE_LOGLEVEL
 
 /* We show everything that is MORE important than this.. */
 #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
index fb0afef..bef5faa 100644 (file)
@@ -9,6 +9,17 @@ config PRINTK_TIME
          operations.  This is useful for identifying long delays
          in kernel startup.
 
+config DEFAULT_MESSAGE_LOGLEVEL
+       int "Default message log level (1-7)"
+       range 1 7
+       default "4"
+       help
+         Default log level for printk statements with no specified priority.
+
+         This was hard-coded to KERN_WARNING since at least 2.6.10 but folks
+         that are auditing their logs closely may want to set it to a lower
+         priority.
+
 config ENABLE_WARN_DEPRECATED
        bool "Enable __deprecated logic"
        default y