From: John Ogness <john.ogness@linutronix.de>
To: Petr Mladek <pmladek@suse.com>,
"Toshiyuki Sato (Fujitsu)" <fj6611ie@fujitsu.com>
Cc: 'Michael Kelley' <mhklinux@outlook.com>,
'Ryo Takakura' <ryotkkr98@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: Problem with nbcon console and amba-pl011 serial port
Date: Wed, 04 Jun 2025 13:56:34 +0206 [thread overview]
Message-ID: <84o6v3ohdh.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <aEApOPTqbVOR35F_@pathway.suse.cz>
On 2025-06-04, Petr Mladek <pmladek@suse.com> wrote:
> On Wed 2025-06-04 04:11:10, Toshiyuki Sato (Fujitsu) wrote:
>> > On 2025-06-03, John Ogness <john.ogness@linutronix.de> wrote:
>> > > On 2025-06-03, "Toshiyuki Sato (Fujitsu)" <fj6611ie@fujitsu.com> wrote:
>> > >>> 4. pr_emerg() has a high logging level, and it effectively steals the console
>> > >>> from the "pr/ttyAMA0" task, which I believe is intentional in the nbcon
>> > design.
>> > >>> Down in pl011_console_write_thread(), the "pr/ttyAMA0" task is doing
>> > >>> nbcon_enter_unsafe() and nbcon_exit_unsafe() around each character
>> > >>> that it outputs. When pr_emerg() steals the console, nbcon_exit_unsafe()
>> > >>> returns 0, so the "for" loop exits. pl011_console_write_thread() then
>> > >>> enters a busy "while" loop waiting to reclaim the console. It's doing this
>> > >>> busy "while" loop with interrupts disabled, and because of the panic,
>> > >>> it never succeeds.
>
> I am a bit surprised that it never succeeds. The panic CPU takes over
> the ownership but it releases it when the messages are flushed. And
> the original owner should be able to reacquire it in this case.
The problem is that other_cpu_in_panic() will return true forever, which
will cause _all_ acquires to fail forever. Originally we did allow
non-panic to take over again after panic releases ownership. But IIRC we
removed that capability because it allowed us to reduce a lot of
complexity. And now nbcon_waiter_matches() relies on "Lower priorities
are ignored during panic() until reboot."
John Ogness
next prev parent reply other threads:[~2025-06-04 12:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-03 3:18 Problem with nbcon console and amba-pl011 serial port Michael Kelley
2025-06-03 9:03 ` Ryo Takakura
2025-06-03 9:36 ` Toshiyuki Sato (Fujitsu)
2025-06-03 10:13 ` John Ogness
2025-06-03 10:44 ` John Ogness
2025-06-04 1:22 ` Toshiyuki Sato (Fujitsu)
2025-06-04 7:44 ` John Ogness
2025-06-04 8:11 ` Russell King (Oracle)
2025-06-03 11:09 ` John Ogness
2025-06-04 4:11 ` Toshiyuki Sato (Fujitsu)
2025-06-04 7:52 ` John Ogness
2025-06-04 11:08 ` Petr Mladek
2025-06-04 11:50 ` John Ogness [this message]
2025-06-04 13:42 ` Petr Mladek
2025-06-05 5:27 ` Toshiyuki Sato (Fujitsu)
2025-06-05 13:39 ` Petr Mladek
2025-06-06 6:46 ` Toshiyuki Sato (Fujitsu)
2025-06-06 10:19 ` John Ogness
2025-06-06 10:35 ` John Ogness
2025-06-06 14:01 ` Petr Mladek
2025-06-06 16:58 ` John Ogness
2025-06-05 2:49 ` Michael Kelley
2025-06-05 6:22 ` Toshiyuki Sato (Fujitsu)
2025-06-05 7:42 ` John Ogness
2025-06-09 3:38 ` Michael Kelley
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=84o6v3ohdh.fsf@jogness.linutronix.de \
--to=john.ogness@linutronix.de \
--cc=fj6611ie@fujitsu.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mhklinux@outlook.com \
--cc=pmladek@suse.com \
--cc=ryotkkr98@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.