• Frederic Weisbecker's avatar
    printk: Wake up klogd using irq_work · 74876a98
    Frederic Weisbecker authored
    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: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Acked-by: default avatarSteven 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>
    74876a98
printk.c 70 KB