Re: [PATCH tty v11 1/2] serial: 8250: Switch to nbcon console, take 2

From: Jon Hunter

Date: Thu Aug 27 2026 - 10:50:11 EST


Hi John,

On 27/08/2026 13:59, John Ogness wrote:
Hi Jon,

On 2026-08-26, Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote:
If that irq_work is the problem that making nbcon_irq_work LAZY should
delay it, masking the problem.

Making nbcon_irq_work LAZY should work around this problem. And,
actually, it should be fine to make nbcon_irq_work LAZY in general since
it is only related to non-emergency messages, which are delayed anyway.

Jon, could you run your tests with only the following patch applied? If
this works for you, I will submit an official version of the patch.

diff --git a/kernel/printk/nbcon.c b/kernel/printk/nbcon.c
index a5921a84a80ed..ad79e30afd647 100644
--- a/kernel/printk/nbcon.c
+++ b/kernel/printk/nbcon.c
@@ -1782,7 +1782,7 @@ bool nbcon_alloc(struct console *con)
}
rcuwait_init(&con->rcuwait);
- init_irq_work(&con->irq_work, nbcon_irq_work);
+ con->irq_work = IRQ_WORK_INIT_LAZY(nbcon_irq_work);
atomic_long_set(&ACCESS_PRIVATE(con, nbcon_prev_seq), -1UL);
nbcon_state_set(con, &state);

I gave this a quick try on Tegra20 and Tegra30 and I can confirm that
this does work.

Thanks!
Jon

--
nvpublic