From: Esben Haabendal <esben@geanix.com>
To: John Ogness <john.ogness@linutronix.de>
Cc: "Petr Mladek" <pmladek@suse.com>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Sergey Senozhatsky" <senozhatsky@chromium.org>,
linux-rt-users@vger.kernel.org,
"Martin Hundebøll" <martin@geanix.com>
Subject: Re: [PATCH 1/2] printk: export pr_flush()
Date: Tue, 02 Apr 2024 16:41:42 +0200 [thread overview]
Message-ID: <87zfubesih.fsf@geanix.com> (raw)
In-Reply-To: <87wmpfq4p1.fsf@jogness.linutronix.de> (John Ogness's message of "Tue, 02 Apr 2024 15:29:06 +0206")
John Ogness <john.ogness@linutronix.de> writes:
> On 2024-04-02, Esben Haabendal <esben@geanix.com> wrote:
>>> printk() tries to print directly from the calling context. Are you
>>> experiencing problems where you do not see the restarting message?
>>
>> Yes, that is exactly what we are seing.
>>
>> It is an i.MX8MP system, and console is attached to ttymxc1
>> (drivers/tty/serial/imx.c).
>>
>> Booting up, and simply executing "reboot" command. Without these two
>> patches, the "reboot: Restarting system" message is not written to
>> ttymxc1 console. With the patches, it is.
>
> This console driver is using the legacy console interface. For
> PREEMPT_RT, legacy consoles run exclusively as a thread and thus may not
> have a chance to flush messages before a shutdown/reboot. The correct
> solution is to port the driver to the new nbcon console interface.
I see. The `if (IS_ENABLED(CONFIG_PREEMPT_RT))` in console_unlock() is
preventing the console_lock/console_unlock dance to do what I need.
Are there any other examples other than 8250 for how to port a driver to
nbcon?
What is the plans for porting all of this to mainline? Should all
drivers be ported first, or will a solution to prevent this type of
regression be implemented at some later time?
/Esben
next prev parent reply other threads:[~2024-04-02 14:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-02 10:10 [PATCH 1/2] printk: export pr_flush() Esben Haabendal
2024-04-02 10:10 ` [PATCH 2/2] reboot: flush printk buffers before final shutdown Esben Haabendal
2024-04-02 10:12 ` Esben Haabendal
2024-04-02 10:13 ` Esben Haabendal
2024-04-02 10:12 ` [PATCH 1/2] printk: export pr_flush() Esben Haabendal
2024-04-02 10:13 ` Esben Haabendal
2024-04-02 10:25 ` John Ogness
2024-04-02 11:19 ` Esben Haabendal
2024-04-02 13:23 ` John Ogness
2024-04-02 14:41 ` Esben Haabendal [this message]
2024-04-02 15:20 ` John Ogness
2024-04-03 9:45 ` Esben Haabendal
2024-04-03 10:09 ` John Ogness
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zfubesih.fsf@geanix.com \
--to=esben@geanix.com \
--cc=john.ogness@linutronix.de \
--cc=linux-rt-users@vger.kernel.org \
--cc=martin@geanix.com \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox