mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: John Ogness <john.ogness@linutronix.de>
To: Petr Mladek <pmladek@suse.com>
Cc: Breno Leitao <leitao@debian.org>,
	Ryan Roberts <ryan.roberts@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Rio <rioo.tsukatsukii@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH v1] panic: Flush unsafe consoles before panic reboot
Date: Wed, 04 Nov 2026 12:24:06 +0106	[thread overview]
Message-ID: <8733tgc0b5.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <auniMWhvteH8C3E0@pathway.suse.cz>

On 2026-11-03, Petr Mladek <pmladek@suse.com> wrote:
>> I can accept this, since legacy-netconsole had these risks anyway. My
>> only concern is when we add an interface for the unsafe flushing policy,
>> will we continue to have unsafe flushing be the default for netconsole?
>> I guess we would need to keep it the same to avoid regressions (just as
>> we need to have it on by default now).
>
> Good point. I think that this basically goes down to the question
> whether we would later introduce an option:
>
>    --panic-focus-on-debug   or   --panic-focus-on-reboot
>
> The current state is somewhere in the middle. I would say
> that:
>
>   + the legacy consoles are more focusing on the debugging side
>     because bust_spinlocks() is called early. And
>     console_flush_on_panic() is called before emergency_restart().
>
>   + the nbcon console are more focusing on safe reboot because
>     nbcon_atomic_flush_unsafe() is called only when followed
>     by an infinite diod blinking.

Note that this difference between legacy and nbcon was one of the
primary design goals for nbcon. It is not chance that we are avoiding
"hope and pray mode".

> It looked like the nbcon handling was good enough before
> we added netconsole with an unsafe write_atomic. And maybe
> even before converting the widely used uart 8250 serial
> console driver.
>
> People started complaining about missing messages with
> the converted netconsole and uart 8250 drivers. The current
> nbcon handling looks like a regression to these people.

Please let's not throw everything into the same pot. The reported
missing 8250 messages are real regressions due to missing flushes. These
must be fixed.

The netconsole issue is separate. Unlike 8250, the netconsole does not
provide a safe variant. This is also a regression, but for different
reasons.

And maybe users want safe drivers (such as 8250) to enter "hope and pray
mode" on kernel ending sites, which is something even legacy consoles
could not always do.

> My take would be to modify the nbcon handling to be more
> like the legacy one and focus more on debugging. If anyone
> gets concerned by the reboot reliability then we
> could add the --panic-focus-on-reboot and make
> the reboot more safe in this case.

I prefer we do not hard-code policies. It would be trivial to add a
policy field and flags to the console struct. We could allow drivers to
declare their own diverging defaults if they want. When we are touching
all these flush sites, let us add code guided by policy instead of
hard-coding policy.

And _later_, once we have /sys/class/consoles, it becomes trivial to
expose these policies to userspace for reading/modifying.

John

  reply	other threads:[~2026-11-04 11:18 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-15 10:01 Ryan Roberts
2026-09-15 10:06 ` Ryan Roberts
2026-09-15 18:49   ` Bradley Morgan
2026-09-16  7:44     ` Ryan Roberts
2026-09-16 14:58       ` Bradley Morgan
2026-09-16 13:08 ` Petr Mladek
2026-10-22 20:35   ` Gustavo Luiz Duarte
2026-10-23  7:57   ` John Ogness
2026-10-23 10:36     ` Petr Mladek
2026-10-27 16:12       ` Breno Leitao
2026-10-27 17:43         ` Breno Leitao
2026-10-27 18:01           ` John Ogness
2026-10-28 11:24             ` Breno Leitao
2026-10-28 10:52     ` Breno Leitao
2026-10-28 14:37       ` John Ogness
2026-10-28 21:15         ` Breno Leitao
2026-10-29  9:20           ` John Ogness
2026-10-29 10:58             ` Breno Leitao
2026-10-29 13:53               ` John Ogness
2026-10-29 14:37                 ` Petr Mladek
2026-10-30 17:56                   ` Breno Leitao
2026-11-02 10:28                     ` Petr Mladek
2026-11-02 13:27                       ` Breno Leitao
2026-11-02 22:22                       ` John Ogness
2026-11-03 13:31                         ` Petr Mladek
2026-11-04 11:18                           ` John Ogness [this message]
2026-11-02 22:14                     ` 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=8733tgc0b5.fsf@jogness.linutronix.de \
    --to=john.ogness@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=leitao@debian.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmladek@suse.com \
    --cc=rioo.tsukatsukii@gmail.com \
    --cc=rostedt@goodmis.org \
    --cc=ryan.roberts@arm.com \
    --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

all inboxes | Powered by JetHome®