All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 for-4.21 0/9] x86/HPET: broadcast IRQ and other improvements
@ 2025-10-23 15:48 Jan Beulich
  2025-10-23 15:49 ` [PATCH v3 for-4.21 1/9] x86/HPET: deal with unused channels Jan Beulich
                   ` (8 more replies)
  0 siblings, 9 replies; 19+ messages in thread
From: Jan Beulich @ 2025-10-23 15:48 UTC (permalink / raw)
  To: xen-devel@lists.xenproject.org
  Cc: Andrew Cooper, Roger Pau Monné, Oleksii Kurochko

While 1db7829e5657 ("x86/hpet: do local APIC EOI after interrupt processing")
helped quite a bit, nested interrupts could still occur. First and foremost
as a result of IRQ migration (where we don't have any control over the vectors
chosen). Hence besides reducing the number of IRQs that can be raised (first
patch), the main goal here is to eliminate the potential for nested IRQs
(patch 2). These patches are imo 4.21 candidates. Patches 3 and onwards likely
aren't important enough anymore at this point of the release cycle, even if
those with a Fixes: tag may end up being backported later on.

v3 has again a fair bit of rework of (not only) the "main" patch. See
individual patches for details.

1: deal with unused channels
2: use single, global, low-priority vector for broadcast IRQ
3: replace handle_hpet_broadcast()'s on-stack cpumask_t
4: avoid indirect call to event handler
5: make another channel flags update atomic
6: move legacy tick IRQ count adjustment
7: reduce hpet_next_event() call sites
8: drop "long timeout" handling from reprogram_hpet_evt_channel()
9: simplify "expire" check a little in reprogram_hpet_evt_channel()

Jan


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

end of thread, other threads:[~2025-10-27 15:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-23 15:48 [PATCH v3 for-4.21 0/9] x86/HPET: broadcast IRQ and other improvements Jan Beulich
2025-10-23 15:49 ` [PATCH v3 for-4.21 1/9] x86/HPET: deal with unused channels Jan Beulich
2025-10-24 12:16   ` Roger Pau Monné
2025-10-23 15:50 ` [PATCH v3 for-4.21 2/9] x86/HPET: use single, global, low-priority vector for broadcast IRQ Jan Beulich
2025-10-24 13:24   ` Roger Pau Monné
2025-10-27 10:23     ` Jan Beulich
2025-10-27 11:33       ` Roger Pau Monné
2025-10-27 11:53         ` Jan Beulich
2025-10-27 11:57           ` Jan Beulich
2025-10-27 11:57           ` Roger Pau Monné
2025-10-23 15:51 ` [PATCH v3 for-4.21 3/9] x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t Jan Beulich
2025-10-27 12:25   ` Jan Beulich
2025-10-27 15:20     ` Oleksii Kurochko
2025-10-23 15:51 ` [PATCH v3 4/9] x86/HPET: avoid indirect call to event handler Jan Beulich
2025-10-23 15:51 ` [PATCH v3 5/9] x86/HPET: make another channel flags update atomic Jan Beulich
2025-10-23 15:52 ` [PATCH v3 6/9] x86/HPET: move legacy tick IRQ count adjustment Jan Beulich
2025-10-23 15:52 ` [PATCH v3 7/9] x86/HPET: reduce hpet_next_event() call sites Jan Beulich
2025-10-23 15:52 ` [PATCH v3 8/9] x86/HPET: drop "long timeout" handling from reprogram_hpet_evt_channel() Jan Beulich
2025-10-23 15:53 ` [PATCH v3 9/9] x86/HPET: simplify "expire" check a little in reprogram_hpet_evt_channel() Jan Beulich

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.