Re: [PATCH printk v3 09/15] printk: refactor and rework printing logic

Petr Mladek
2022-04-20T14:55:34Z

On Wed 2022-04-20 01:52:31, John Ogness wrote:
> Refactor/rework printing logic in order to prepare for moving to
> threaded console printing.
>
> - Move @console_seq into struct console so that the current
> "position" of each console can be tracked individually.
>
> - Move @console_dropped into struct console so that the current drop
> count of each console can be tracked individually.
>
> - Modify printing logic so that each console independently loads,
> prepares, and prints its next record.
>
> - Remove exclusive_console logic. Since console positions are
> handled independently, replaying past records occurs naturally.
>
> - Update the comments explaining why preemption is disabled while
> printing from printk() context.
>
> With these changes, there is a change in behavior: the console
> replaying the log (formerly exclusive console) will no longer block
> other consoles. New messages appear on the other consoles while the
> newly added console is still replaying.
>
> Signed-off-by: John Ogness <john.ogness@linutronix.de>

It might be because I have already seen this code several times. But
I really like how it splits the monolithic console_unlock().

It might also mean that I have become blind. But I do not see any
problem anymore ;-)

Reviewed-by: Petr Mladek <pmladek@suse.com>

Best Regards,
Petr