diff options
author | John Ogness <john.ogness@linutronix.de> | 2020-07-09 15:29:43 +0206 |
---|---|---|
committer | Petr Mladek <pmladek@suse.com> | 2020-07-10 08:48:35 +0200 |
commit | 8749efc0c0c325bf0c948c0b11d77bd3e497ead5 (patch) | |
tree | 66a886d297163600eed9b783391ee2e5a190c955 /kernel/printk | |
parent | b6cf8b3f3312e2ffe38f23c7c692eb9389277a9a (diff) | |
download | lwn-8749efc0c0c325bf0c948c0b11d77bd3e497ead5.tar.gz lwn-8749efc0c0c325bf0c948c0b11d77bd3e497ead5.zip |
Revert "printk: lock/unlock console only for new logbuf entries"
This reverts commit 3ac37a93fa9217e576bebfd4ba3e80edaaeb2289.
This optimization will not apply once the transition to a lockless
printk is complete. Rather than porting this optimization through
the transition only to remove it anyway, just revert it now to
simplify the transition.
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Acked-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20200709132344.760-4-john.ogness@linutronix.de
Diffstat (limited to 'kernel/printk')
-rw-r--r-- | kernel/printk/printk.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index b71eaf5f5a86..1b41e1b98221 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1981,9 +1981,8 @@ asmlinkage int vprintk_emit(int facility, int level, const char *fmt, va_list args) { int printed_len; - bool in_sched = false, pending_output; + bool in_sched = false; unsigned long flags; - u64 curr_log_seq; /* Suppress unimportant messages after panic happens */ if (unlikely(suppress_printk)) @@ -1999,13 +1998,11 @@ asmlinkage int vprintk_emit(int facility, int level, /* This stops the holder of console_sem just where we want him */ logbuf_lock_irqsave(flags); - curr_log_seq = log_next_seq; printed_len = vprintk_store(facility, level, dict, dictlen, fmt, args); - pending_output = (curr_log_seq != log_next_seq); logbuf_unlock_irqrestore(flags); /* If called from the scheduler, we can not call up(). */ - if (!in_sched && pending_output) { + if (!in_sched) { /* * Disable preemption to avoid being preempted while holding * console_sem which would prevent anyone from printing to @@ -2022,8 +2019,7 @@ asmlinkage int vprintk_emit(int facility, int level, preempt_enable(); } - if (pending_output) - wake_up_klogd(); + wake_up_klogd(); return printed_len; } EXPORT_SYMBOL(vprintk_emit); |