All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Ogness <john.ogness@linutronix.de>
To: Jon Hunter <jonathanh@nvidia.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Petr Mladek <pmladek@suse.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	linux-kernel@vger.kernel.org,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Hugo Villeneuve" <hvilleneuve@dimonoff.com>,
	"Kees Cook" <kees@kernel.org>,
	"Stepan Ionichev" <sozdayvek@gmail.com>,
	"Xin Zhao" <jackzxcui1989@163.com>,
	"Osama Abdelkader" <osama.abdelkader@gmail.com>,
	"Fushuai Wang" <wangfushuai@baidu.com>,
	"Marco Felsch" <m.felsch@pengutronix.de>,
	linux-serial@vger.kernel.org,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH tty v11 1/2] serial: 8250: Switch to nbcon console, take 2
Date: Thu, 27 Aug 2026 17:54:45 +0206	[thread overview]
Message-ID: <87wltbo97m.fsf@jogness.linutronix.de> (raw)
In-Reply-To: <95ab37fe-2e21-4b6e-b8ef-39bccd2e7d75@nvidia.com>

Hi Jon,

On 2026-08-27, Jon Hunter <jonathanh@nvidia.com> wrote:
>> 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.

OK, great. I will prepare an official patch for mainline to change
nbcon_irq_work to LAZY.

Back with v5 you reported [0] similar issues due to suspend/resume. For
that we implemented the @console_irqwork_blocked workaround. We probably
do not need that anymore. You could verify that with the following hack
(and booting with no_console_suspend). Note that you also need the LAZY
change above.

===== BEGIN SUSPEND HACK =====
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 6d3d18a50da74..73c85f6de2c9e 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2796,7 +2796,6 @@ void console_suspend_all(void)
 	 * any klogd waiters are not triggered.
 	 */
 	pr_flush(1000, true);
-	console_irqwork_blocked = true;
 
 	if (!console_suspend_enabled)
 		return;
===== END SUSPEND HACK =====

However, this workaround did allow the consoles to switch to atomic mode
on suspend when no_console_suspend is specified at boot. So the
workaround might be interesting for that reason alone. But we should no
longer need it for the reasons mentioned in commit 26873e3e7f0c
("printk: Avoid scheduling irq_work on suspend")

John

[0] https://lore.kernel.org/lkml/80b020fc-c18a-4da4-b222-16da1cab2f4c@nvidia.com

  reply	other threads:[~2026-08-27 15:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-29 12:04 [PATCH tty v11 0/2] Convert 8250 to NBCON, take 2 John Ogness
2026-07-29 12:04 ` [PATCH tty v11 1/2] serial: 8250: Switch to nbcon console, " John Ogness
2026-07-29 12:44   ` John Ogness
2026-07-30 14:24   ` Petr Mladek
2026-07-31  7:48     ` John Ogness
2026-07-31 14:04       ` Petr Mladek
2026-08-18  6:25   ` Jon Hunter
2026-08-18  7:01     ` Sebastian Andrzej Siewior
2026-08-18  7:51     ` Petr Mladek
2026-08-18 12:19       ` Jon Hunter
2026-08-18 15:53         ` Petr Mladek
2026-08-20  9:15           ` Jon Hunter
2026-08-20 12:40             ` John Ogness
2026-08-20 23:37               ` Jon Hunter
2026-08-22  0:32                 ` John Ogness
2026-08-24 21:26                   ` Jon Hunter
2026-08-25 13:58                     ` John Ogness
2026-08-25 15:35                       ` Jon Hunter
2026-08-25 22:02                         ` John Ogness
2026-08-26  7:35                           ` Petr Mladek
2026-08-26  7:59                             ` Sebastian Andrzej Siewior
2026-08-27 12:59                               ` John Ogness
2026-08-27 14:49                                 ` Jon Hunter
2026-08-27 15:48                                   ` John Ogness [this message]
2026-08-26 14:17                           ` Jon Hunter
2026-08-20 11:20           ` John Ogness
2026-08-27  9:45             ` Thierry Reding
2026-08-27 14:29               ` Jon Hunter
2026-07-29 12:04 ` [PATCH tty v11 2/2] Revert "serial: 8250: drop lockdep annotation from serial8250_clear_IER()" John Ogness
2026-07-30 14:48 ` [PATCH tty v11 0/2] Convert 8250 to NBCON, take 2 Greg Kroah-Hartman

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=87wltbo97m.fsf@jogness.linutronix.de \
    --to=john.ogness@linutronix.de \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bigeasy@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hvilleneuve@dimonoff.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jackzxcui1989@163.com \
    --cc=jirislaby@kernel.org \
    --cc=jonathanh@nvidia.com \
    --cc=kees@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=m.felsch@pengutronix.de \
    --cc=osama.abdelkader@gmail.com \
    --cc=pmladek@suse.com \
    --cc=sozdayvek@gmail.com \
    --cc=wangfushuai@baidu.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.