Revert "printk: Block console kthreads when direct printing will be required"
authorPetr Mladek <pmladek@suse.com>
Thu, 23 Jun 2022 14:51:53 +0000 (16:51 +0200)
committerPetr Mladek <pmladek@suse.com>
Thu, 23 Jun 2022 16:41:40 +0000 (18:41 +0200)
This reverts commit c3230283e2819a69dad2cf7a63143fde8bab8b5c.

The testing of 5.19 release candidates revealed missing synchronization
between early and regular console functionality.

It would be possible to start the console kthreads later as a workaround.
But it is clear that console lock serialized console drivers between
each other. It opens a big area of possible problems that were not
considered by people involved in the development and review.

printk() is crucial for debugging kernel issues and console output is
very important part of it. The number of consoles is huge and a proper
review would take some time. As a result it need to be reverted for 5.19.

Link: https://lore.kernel.org/r/YrBdjVwBOVgLfHyb@alley
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20220623145157.21938-3-pmladek@suse.com
kernel/printk/printk.c

index 45c6c2b0b1044cc54888a4e5b647775edd282a22..ea3dd55709e7244ea1cb78e3982684920551fe1c 100644 (file)
@@ -3729,9 +3729,7 @@ static bool printer_should_wake(struct console *con, u64 seq)
                return true;
 
        if (con->blocked ||
-           console_kthreads_atomically_blocked() ||
-           system_state > SYSTEM_RUNNING ||
-           oops_in_progress) {
+           console_kthreads_atomically_blocked()) {
                return false;
        }