History

Revert "printk: Block console kthreads when direct printing will be required"

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.

Petr Mladek committed 4 years ago

Commit 05c96b31 parent 20fb0c81 file · +1 −3Browse files

Showing the changes to kernel (1 of 1 file). Show all

Unified · Split

kernel/printk/printk.c+1−3
@@ -3729,9 +3729,7 @@ static bool printer_should_wake(struct console *con, u64 seq) · 3728 unmodified lines
37293729 return true;
37303730
37313731 if (con->blocked ||
3732− console_kthreads_atomically_blocked() ||
3733− system_state > SYSTEM_RUNNING ||
3734− oops_in_progress) {
3732+ console_kthreads_atomically_blocked()) {
37353733 return false;
37363734 }
37373735