aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2012-10-12 12:00:23 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2012-11-17 19:01:49 -0500
commit74876a98a87a115254b3a66a14b27320b7f0acaa (patch)
tree06ed1cff8a92b0c687a7ff2fe31c19e8249bbe3c /init
parentbc6679aef673f9dcb8f718528fc3df49ff661af9 (diff)
printk: Wake up klogd using irq_work
klogd is woken up asynchronously from the tick in order to do it safely. However if printk is called when the tick is stopped, the reader won't be woken up until the next interrupt, which might not fire for a while. As a result, the user may miss some message. To fix this, lets implement the printk tick using a lazy irq work. This subsystem takes care of the timer tick state and can fix up accordingly. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index cdc152c75727..c575566be47d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1196,6 +1196,7 @@ config HOTPLUG
1196config PRINTK 1196config PRINTK
1197 default y 1197 default y
1198 bool "Enable support for printk" if EXPERT 1198 bool "Enable support for printk" if EXPERT
1199 select IRQ_WORK
1199 help 1200 help
1200 This option enables normal printk support. Removing it 1201 This option enables normal printk support. Removing it
1201 eliminates most of the message strings from the kernel image 1202 eliminates most of the message strings from the kernel image