All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Re-raise irq_work lost during Xen suspend
@ 2026-11-06 14:57 Julian Vetter
  2026-11-06 15:01 ` [PATCH 1/2] irq_work: Add irq_work_raise_pending() Julian Vetter
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Julian Vetter @ 2026-11-06 14:57 UTC (permalink / raw)
  To: xen-devel, linux-kernel
  Cc: Juergen Gross, Thomas Gleixner, Peter Zijlstra,
	Stefano Stabellini, Oleksandr Tyshchenko, Mathieu Desnoyers,
	Sebastian Andrzej Siewior, Jiayuan Chen,
	Masami Hiramatsu (Google), Vineeth Pillai (Google), Julian Vetter

[-- Attachment #1: Type: text/plain, Size: 1403 bytes --]

We hit this issue with an Ubuntu 26.04 cloudimage guests (7.0 based
kernel with the 8250 as an nbcon console) on XCP-ng 8.3 / Xen 4.17. With
a kernel commandline adding two consoles, i.e., 'console=ttyS1
console=ttyS0'. During a live migration on that setup the printk()s from
gnttab_resume() and xen_irq_resume() queue nbcon_irq_work while the APIC
is disabled. Thus the list transitions from empty to non-empty, but
doesn't receive the IPI to empty the list again. Afterwards the list
stays non-empty, so the IPI never fires and all irq_work piles up.

The Commit 560f4deda327 ("printk/nbcon: Change nbcon_irq_work to
IRQ_WORK_LAZY") removed this particular issue because declaring the IRQ
work to be lazy, causes the timer interrupt to trigger the irq work
instead. But any other non-lazy irq_work queued in that window is still
lost the same way and will cause the list to fill up without being
handled.

Signed-off-by: Julian Vetter <julian.vetter@vates.tech>
---
Julian Vetter (2):
  irq_work: Add irq_work_raise_pending()
  xen/manage: Re-raise pending irq_work after suspend

 drivers/xen/manage.c     |  3 +++
 include/linux/irq_work.h |  2 ++
 kernel/irq_work.c        | 10 ++++++++++
 3 files changed, 15 insertions(+)

-- 
2.53.0



--
Julian Vetter | Vates Hypervisor & Kernel Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-11-09 10:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-06 14:57 [PATCH 0/2] Re-raise irq_work lost during Xen suspend Julian Vetter
2026-11-06 15:01 ` [PATCH 1/2] irq_work: Add irq_work_raise_pending() Julian Vetter
2026-11-06 15:01 ` [PATCH 2/2] xen/manage: Re-raise pending irq_work after suspend Julian Vetter
2026-11-06 15:36 ` [PATCH 0/2] Re-raise irq_work lost during Xen suspend Sebastian Andrzej Siewior
2026-11-09 10:16   ` Julian Vetter
2026-11-09 10:56     ` Adrian Hunter

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.