All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 for-4.21 0/9] x86/HPET: broadcast IRQ and other improvements
@ 2025-10-20 11:16 Jan Beulich
  2025-10-20 11:18 ` [PATCH v2 for-4.21 1/9] x86/HPET: disable unused channels Jan Beulich
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Jan Beulich @ 2025-10-20 11:16 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.

v2 has 3 patches dropped and 2 new ones introduced, plus in particular a fair
bit of rework of the "main" patch. See individual patches for details.

1: disable 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: don't use hardcoded 0 for "long timeout"
9: simplify "expire" check a little in reprogram_hpet_evt_channel()

Jan


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

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

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-20 11:16 [PATCH v2 for-4.21 0/9] x86/HPET: broadcast IRQ and other improvements Jan Beulich
2025-10-20 11:18 ` [PATCH v2 for-4.21 1/9] x86/HPET: disable unused channels Jan Beulich
2025-10-23 14:51   ` Jan Beulich
2025-10-20 11:18 ` [PATCH v2 for-4.21 2/9] x86/HPET: use single, global, low-priority vector for broadcast IRQ Jan Beulich
2025-10-20 16:22   ` Roger Pau Monné
2025-10-21  6:42     ` Jan Beulich
2025-10-21 13:49       ` Roger Pau Monné
2025-10-22  9:21         ` Jan Beulich
2025-10-22 11:59           ` Jan Beulich
2025-10-23  8:39           ` Roger Pau Monné
2025-10-23 10:37             ` Jan Beulich
2025-10-23 12:49               ` Roger Pau Monné
2025-10-23 15:36                 ` Jan Beulich
2025-10-20 11:19 ` [PATCH v2 for-4.21 3/9] x86/HPET: replace handle_hpet_broadcast()'s on-stack cpumask_t Jan Beulich
2025-10-20 11:23   ` Jan Beulich
2025-10-21 14:08   ` Roger Pau Monné
2025-10-21 14:43     ` Jan Beulich
2025-10-20 11:19 ` [PATCH v2 4/9] x86/HPET: avoid indirect call to event handler Jan Beulich
2025-10-20 11:20 ` [PATCH v2 5/9] x86/HPET: make another channel flags update atomic Jan Beulich
2025-10-20 11:20 ` [PATCH v2 6/9] x86/HPET: move legacy tick IRQ count adjustment Jan Beulich
2025-10-20 11:20 ` [PATCH v2 7/9] x86/HPET: reduce hpet_next_event() call sites Jan Beulich
2025-10-20 11:21 ` [PATCH v2 for-4.21 8/9] x86/HPET: don't use hardcoded 0 for "long timeout" Jan Beulich
2025-10-20 11:24   ` Jan Beulich
2025-10-21 14:21   ` Roger Pau Monné
2025-10-21 14:48     ` Jan Beulich
2025-10-20 11:21 ` [PATCH v2 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.