[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Yt/n9yahzBkgvqhv@alley>
Date: Tue, 26 Jul 2022 15:11:19 +0200
From: Petr Mladek <pmladek@...e.com>
To: John Ogness <john.ogness@...utronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-kernel@...r.kernel.org,
Sergey Senozhatsky <senozhatsky@...omium.org>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH v3] printk: Skip console drivers on PREEMPT_RT.
On Tue 2022-07-26 10:03:39, John Ogness wrote:
> On 2022-07-25, Sebastian Andrzej Siewior <bigeasy@...utronix.de> 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.
>
> Note that "the dmesg command" is not the only userspace tool to access
> the kernel logs. Logging daemons (using /proc/kmsg or /dev/kmsg) also
> have full access.
I have updated the message when comitting, see
https://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git/commit/?h=rework/kthreads&id=c01c1c784a02aaa216524977b294b8834d0ee907
> > Disable console printing on PREEMPT_RT.
> >
> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
>
> Reviewed-by: John Ogness <john.ogness@...utronix.de>
JFYI, the patch has been committed into printk/linux.git, branch
rework/kthreads. I am going to add it into the pull request for 5.20.
Best Regards,
Petr
Powered by blists - more mailing lists