Re: [PATCH v3] printk: Skip console drivers on PREEMPT_RT.

From: Petr Mladek
Date: Tue Jul 26 2022 - 03:40:54 EST


On Mon 2022-07-25 17:16:16, Sebastian Andrzej Siewior wrote:
> printk might be invoked in a context with disabled interrupts and or
> preemption and additionally disables interrupts before it invokes the
> console drivers. This behaviour is not desired on PREEMPT_RT:
> - The console driver are using spinlock_t based locking which become sleeping
> locks on PREEMPT_RT and must not be acquired with disabled interrupts (or
> preemption).
>
> - The locks within the console drivers must remain sleeping locks and they must
> not disable interrupts. Printing (and polling for its completion) at 115200
> baud on an UART takes too long for PREEMPT_RT in general and so raises the
> latency of the IRQ-off time of the system beyond acceptable levels.
>
> Skip printing to the console as temporary workaround until the printing threads
> and atomic consoles have been introduced or another solution which is
> compatible with the PREEMPT_RT approach.
> With this change, the user will not see any kernel message printed to the
> console but can retrieve the printk buffer from userland (via the dmesg
> command). This allows enable PREEMPT_RT as a whole without disabling printk and
> loosing all kernel output.
>
> Disable console printing on PREEMPT_RT.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

Thanks a lot for updating the commit message. It looks good to me now.

Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>

Best Regards,
Petr

PS: John, if you ack it then I'll queue it for 5.20.