Commit 054c22b
printk: flush consoles before checking progress
Commit 9e70a5e ("printk: Add per-console suspended state")
removed console lock usage during resume and replaced it with
the clearly defined console_list_lock and srcu mechanisms.
However, the console lock usage had an important side-effect
of flushing the consoles. After its removal, consoles were no
longer flushed before checking their progress.
Add the console_lock/console_unlock dance to the beginning
of __pr_flush() to actually flush the consoles before checking
their progress. Also add comments to clarify this additional
usage of the console lock.
Note that console_unlock() does not guarantee flushing all messages
since the commit dbdda84 ("printk: Add console owner and waiter
logic to load balance console writes").
Reported-by: Todd Brandt <todd.e.brandt@intel.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217955
Fixes: 9e70a5e ("printk: Add per-console suspended state")
Co-developed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Link: https://lore.kernel.org/r/20231006082151.6969-2-pmladek@suse.com1 parent 132a90d commit 054c22b
1 file changed
Lines changed: 7 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3738 | 3738 | | |
3739 | 3739 | | |
3740 | 3740 | | |
| 3741 | + | |
| 3742 | + | |
| 3743 | + | |
| 3744 | + | |
3741 | 3745 | | |
3742 | 3746 | | |
3743 | 3747 | | |
3744 | 3748 | | |
3745 | 3749 | | |
3746 | | - | |
| 3750 | + | |
| 3751 | + | |
| 3752 | + | |
3747 | 3753 | | |
3748 | 3754 | | |
3749 | 3755 | | |
| |||
0 commit comments