diff options
| author | John Ogness <john.ogness@linutronix.de> | 2026-09-01 11:37:43 +0206 |
|---|---|---|
| committer | Petr Mladek <pmladek@suse.com> | 2026-09-02 11:28:16 +0200 |
| commit | 560f4deda32785e260056200f8bb911c475c5b88 (patch) | |
| tree | c42fef5fd3647ae69ecfc5c13cc3be70056cdcdf /scripts/Makefile.thinlto | |
| parent | 0433632bbe8d279e978f3f85212f36281a89946c (diff) | |
printk/nbcon: Change nbcon_irq_work to IRQ_WORK_LAZY
Change the nbcon_irq_work to be IRQ_WORK_LAZY, thus not raising
an IRQ upon irq_work queuing. The irq_work is then handled on the
next kernel tick. This additional delay is acceptable because
nbcon_irq_work is only responsible for non-emergency deferred
printing, which is delayed anyway. This has the benefit of not
needing to raise an IRQ for each printk() call.
On a side note, the Tegra20 and Tegra30 platforms can hang if an
irq_work IRQ is raised while entering cpuidle states. This problem
was reproducible by calling printk() while entering cpuidle. So
this change also provides a workaround for these platforms (as long
as they are not running tickless).
Link: https://lore.kernel.org/lkml/f3757a75-0ba1-4558-bf57-f19ab7e59a4c@nvidia.com
Fixes: 76f258bf3f2a ("printk: nbcon: Introduce printer kthreads")
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://patch.msgid.link/20260901093245.344455-3-john.ogness@linutronix.de
Signed-off-by: Petr Mladek <pmladek@suse.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
