Re: [PATCH tty v11 1/2] serial: 8250: Switch to nbcon console, take 2
Jon Hunter <[email protected]>
| Newsgroups | gmane.linux.ports.tegra,gmane.linux.kernel,gmane.linux.serial |
|---|---|
| Message-ID | <[email protected]> |
Hi John, On 27/08/2026 13:59, John Ogness wrote: > Hi Jon, > > On 2026-08-26, Sebastian Andrzej Siewior <[email protected]> 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