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 45c6c2b..ea3dd55 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;
        }