From: Petr Mladek <pmladek@suse.com>
To: John Ogness <john.ogness@linutronix.de>
Cc: Breno Leitao <leitao@debian.org>,
chris@chrisdown.name, Sam Crossley <samuelcrossley@gmail.com>,
Thomas Gleixner <tglx@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Jonathan Corbet <corbet@lwn.net>, Paolo Abeni <pabeni@redhat.com>,
Randy Dunlap <rdunlap@infradead.org>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Shuah Khan <skhan@linuxfoundation.org>,
Simon Horman <horms@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-doc@vger.kernel.org
Subject: Re: [PATCH RFC 0/2] netconsole: allow replaying the printk buffer on demand
Date: Tue, 27 Oct 2026 13:58:52 +0100 [thread overview]
Message-ID: <auCgDAzkio4RVfWK@pathway.suse.cz> (raw)
In-Reply-To: <87zew0ifpp.fsf@jogness.linutronix.de>
On Mon 2026-10-26 17:39:54, John Ogness wrote:
> On 2026-10-26, Petr Mladek <pmladek@suse.com> wrote:
> > The "replay" approach looks like a big hammer. Many messages might get
> > duplicated, especially when the outage was small.
> >
> > A better solution might be to do not increment con->nbcon_seq
> > when the transmission failed. And try it later again.
>
> Note that there was a time during the rework that we used to allow the
> console to return failure but decided it was too complicated [0].
> [0] https://lore.kernel.org/lkml/ZdTCZqhZww8_WgSU@alley
It seems that the main problem was how to handle the nbcon ownership
when the callback returned an error. But I think that has been later
solved because we needed to re-acquire the ownership for the clean up.
Honestly, I am not completely sure what worms could jump from this
can. But I think that adding the error handling should be doable.
Well, I am not sure that it is worth the effort for this use-case.
> The kthreads are setup to stay in their printing loop until the backlog
> is clear. Having a nice=-20 task busy-loop would be bad.
My idea was to put the kthread into in interruptible sleep. It could
be woken again by a timer and by the next printk() call.
> > con->write_thread() currently does not return anything. I believe that
> > it is partly a historical limit. Two problems come to my mind:
> >
> > 1. There used to be a global "console_seq" counter which was common
> > for all console drivers. But we have a per-console counter since
> > the commit a699449bb13b70b8bd1 ("printk: refactor and rework
> > printing logic").
> >
> > 2. There has never been a try-later logic. But is should be easier
> > to add it now. We have the kthreads. And even the legacy loop
> > is able to break when there is not progress.
>
> I suppose for only the write_thread() callback we could implement some
> sort of throttled retry if the console driver reports failure. But this
> is assuming console drivers can even detect if it successfully sent or
> not. The netconsole certainly has no method to _know_ if the UDP packet
> was received. And UARTs (asside from flow-control) also have no way to
> confirm that the other side received the data.
Good point. We could detect problems only on the sender side
which might need not be enough.
> Breno and Sam simply want the user to trigger a replay of the full
> log. Essentially a sysrq-R but per-console. I think that is a reasonable
> request and certainly much easier than attempting some sort of
> transmission guarantee.
Yes. I am not against the interface. I just thought about a better
solution.
Best Regards,
Petr
next prev parent reply other threads:[~2026-10-27 12:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-24 23:06 [PATCH RFC 0/2] netconsole: allow replaying the printk buffer on demand Sam Crossley
2026-10-24 23:06 ` [PATCH RFC 1/2] printk: add per-console replay helper Sam Crossley
2026-10-24 23:06 ` [PATCH RFC 2/2] netconsole: add configfs trigger to replay printk buffer Sam Crossley
2026-10-26 9:34 ` [PATCH RFC 0/2] netconsole: allow replaying the printk buffer on demand John Ogness
2026-10-26 11:44 ` Breno Leitao
2026-10-26 13:09 ` John Ogness
2026-10-26 14:58 ` Petr Mladek
2026-10-26 16:33 ` John Ogness
2026-10-26 17:49 ` Breno Leitao
2026-10-27 13:47 ` Petr Mladek
2026-10-27 15:54 ` Breno Leitao
2026-10-27 17:45 ` Petr Mladek
2026-10-27 12:58 ` Petr Mladek [this message]
2026-10-26 14:39 ` Chris Down
2026-10-26 15:32 ` Breno Leitao
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=auCgDAzkio4RVfWK@pathway.suse.cz \
--to=pmladek@suse.com \
--cc=andrew+netdev@lunn.ch \
--cc=chris@chrisdown.name \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=john.ogness@linutronix.de \
--cc=kuba@kernel.org \
--cc=leitao@debian.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rdunlap@infradead.org \
--cc=rostedt@goodmis.org \
--cc=samuelcrossley@gmail.com \
--cc=senozhatsky@chromium.org \
--cc=skhan@linuxfoundation.org \
--cc=tglx@kernel.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 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.