All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] x86/irq: drop interrupt target cpumasks
@ 2025-11-20  9:06 Roger Pau Monne
  2025-11-20  9:06 ` [PATCH 01/12] x86/apic: remove cpu_mask_to_apicid hook Roger Pau Monne
                   ` (5 more replies)
  0 siblings, 6 replies; 36+ messages in thread
From: Roger Pau Monne @ 2025-11-20  9:06 UTC (permalink / raw)
  To: xen-devel
  Cc: Roger Pau Monne, Jan Beulich, Andrew Cooper, Anthony PERARD,
	Michal Orzel, Julien Grall, Stefano Stabellini, Jason Andryuk

Hello,

After the adjustments that dropped logical delivery mode for all
external interrupts the Xen internal interrupt descriptors no longer
require a cpumask to store the possible targets of the interrupt.  Using
physical delivery mode only allows a single CPU to be the target of the
interrupt, and hence the field can be converted into an unsigned int.

The series contain a bit of cleanup and code adjustments ahead of the
removal of the cpumasks that's done in the last 3 patches.

A couple of notes from the series:

 * It's possible that further simplifications can be applied to
   fixup_irqs() (and other logic) after dropping the cpumasks.  I
   haven't looked closely enough, but in any case that would be a
   followup change(s) on top of this series.

 * Current code seems to confuse interrupt affinity (possible interrupt
   destinations) with the current target of the interrupt.  For example
   irq_set_affinity() doesn't set the interrupt affinity, but rather
   migrates the interrupt from one target CPU to another.

Thanks, Roger.

Roger Pau Monne (12):
  x86/apic: remove cpu_mask_to_apicid hook
  x86/apic: remove vector_allocation_cpumask hook
  x86/irq: introduce local irq_desc
  x86/irq: set accurate cpu_mask for high priority vectors used by
    external interrupts
  x86/io-apic: purge usage of logical mode
  x86/i8259: redo workaround for AMD spurious PIC interrupts
  x86/io-apic: fix usage of setup_ioapic_dest()
  x86/irq: adjust bind_irq_vector() to take a single CPU as parameter
  x86/irq: convert cpumask parameter to integer in
    {,p}irq_set_affinity()
  x86/irq: convert irq_desc cpu_mask field to integer
  x86/irq: convert irq_desc old_cpu_mask field to integer
  x86/irq: convert irq_desc pending_mask field to integer

 xen/arch/x86/genapic/bigsmp.c            |   2 -
 xen/arch/x86/genapic/default.c           |   2 -
 xen/arch/x86/genapic/delivery.c          |   7 +-
 xen/arch/x86/genapic/x2apic.c            |   9 -
 xen/arch/x86/hpet.c                      |  11 +-
 xen/arch/x86/hvm/hvm.c                   |   2 +-
 xen/arch/x86/i8259.c                     |  17 +-
 xen/arch/x86/include/asm/genapic.h       |  17 +-
 xen/arch/x86/include/asm/irq.h           |  22 +-
 xen/arch/x86/include/asm/msi.h           |   3 +-
 xen/arch/x86/io_apic.c                   |  61 +++---
 xen/arch/x86/irq.c                       | 249 ++++++++++-------------
 xen/arch/x86/msi.c                       |  17 +-
 xen/arch/x86/platform_hypercall.c        |   2 +-
 xen/arch/x86/smpboot.c                   |  12 +-
 xen/common/cpu.c                         |   1 +
 xen/common/event_channel.c               |   6 +-
 xen/drivers/passthrough/amd/iommu_init.c |   2 +-
 xen/drivers/passthrough/vtd/iommu.c      |   2 +-
 xen/include/xen/cpumask.h                |   1 +
 xen/include/xen/irq.h                    |   3 +-
 21 files changed, 179 insertions(+), 269 deletions(-)

-- 
2.51.0



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

end of thread, other threads:[~2025-11-24 12:57 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-20  9:06 [PATCH 00/12] x86/irq: drop interrupt target cpumasks Roger Pau Monne
2025-11-20  9:06 ` [PATCH 01/12] x86/apic: remove cpu_mask_to_apicid hook Roger Pau Monne
2025-11-20 12:19   ` Jan Beulich
2025-11-20 12:25   ` Andrew Cooper
2025-11-20  9:06 ` [PATCH 02/12] x86/apic: remove vector_allocation_cpumask hook Roger Pau Monne
2025-11-20 12:25   ` Jan Beulich
2025-11-20 12:30   ` Andrew Cooper
2025-11-20  9:06 ` [PATCH 03/12] x86/irq: introduce local irq_desc Roger Pau Monne
2025-11-20 12:39   ` Andrew Cooper
2025-11-20  9:06 ` [PATCH 04/12] x86/irq: set accurate cpu_mask for high priority vectors used by external interrupts Roger Pau Monne
2025-11-20 12:45   ` Andrew Cooper
2025-11-20 12:53     ` Jan Beulich
2025-11-20 13:06   ` Jan Beulich
2025-11-21  8:29     ` Roger Pau Monné
2025-11-24 10:16       ` Jan Beulich
2025-11-20  9:06 ` [PATCH 05/12] x86/io-apic: purge usage of logical mode Roger Pau Monne
2025-11-20 13:18   ` Andrew Cooper
2025-11-20 14:27     ` Jan Beulich
2025-11-20 18:30       ` Andrew Cooper
2025-11-21  7:38         ` Jan Beulich
2025-11-20  9:58 ` [PATCH 06/12] x86/i8259: redo workaround for AMD spurious PIC interrupts Roger Pau Monne
2025-11-20  9:58   ` [PATCH 07/12] x86/io-apic: fix usage of setup_ioapic_dest() Roger Pau Monne
2025-11-20 16:02     ` Jan Beulich
2025-11-20  9:58   ` [PATCH 08/12] x86/irq: adjust bind_irq_vector() to take a single CPU as parameter Roger Pau Monne
2025-11-24 10:52     ` Jan Beulich
2025-11-20  9:58   ` [PATCH 09/12] x86/irq: convert cpumask parameter to integer in {,p}irq_set_affinity() Roger Pau Monne
2025-11-24 11:20     ` Jan Beulich
2025-11-20  9:58   ` [PATCH 10/12] x86/irq: convert irq_desc cpu_mask field to integer Roger Pau Monne
2025-11-24 12:01     ` Jan Beulich
2025-11-20  9:58   ` [PATCH 11/12] x86/irq: convert irq_desc old_cpu_mask " Roger Pau Monne
2025-11-24 12:54     ` Jan Beulich
2025-11-20  9:58   ` [PATCH 12/12] x86/irq: convert irq_desc pending_mask " Roger Pau Monne
2025-11-24 12:57     ` Jan Beulich
2025-11-20 15:05   ` [PATCH 06/12] x86/i8259: redo workaround for AMD spurious PIC interrupts Jan Beulich
2025-11-21  8:35     ` Roger Pau Monné
2025-11-24 10:20       ` 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.