]> www.infradead.org Git - users/jedix/linux-maple.git/commit
x86/apic: Convert to IRQCHIP_MOVE_DEFERRED
authorThomas Gleixner <tglx@linutronix.de>
Tue, 10 Dec 2024 10:34:15 +0000 (11:34 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 15 Jan 2025 20:38:53 +0000 (21:38 +0100)
commit7d04319a05ab17ca3da188d0799af93d3213cb06
treee96f28aef58ad34f2f35df8a167a7d9118b8ff50
parenta648eb3a3f79e9736a59b28783700c2c691db419
x86/apic: Convert to IRQCHIP_MOVE_DEFERRED

Instead of marking individual interrupts as safe to be migrated in
arbitrary contexts, mark the interrupt chips, which require the interrupt
to be moved in actual interrupt context, with the new IRQCHIP_MOVE_DEFERRED
flag. This makes more sense because this is a per interrupt chip property
and not restricted to individual interrupts.

That flips the logic from the historical opt-out to a opt-in model. This is
simpler to handle for other architectures, which default to unrestricted
affinity setting. It also allows to cleanup the redundant core logic
significantly.

All interrupt chips, which belong to a top-level domain sitting directly on
top of the x86 vector domain are marked accordingly, unless the related
setup code marks the interrupts with IRQ_MOVE_PCNTXT, i.e. XEN.

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
Acked-by: Wei Liu <wei.liu@kernel.org>
Link: https://lore.kernel.org/all/20241210103335.563277044@linutronix.de
arch/x86/Kconfig
arch/x86/hyperv/irqdomain.c
arch/x86/kernel/apic/io_apic.c
arch/x86/kernel/apic/msi.c
arch/x86/kernel/hpet.c
arch/x86/platform/uv/uv_irq.c
drivers/iommu/amd/init.c
drivers/iommu/amd/iommu.c
drivers/iommu/intel/irq_remapping.c
drivers/pci/controller/pci-hyperv.c
drivers/xen/events/events_base.c