linux/arch/x86/kernel/apic
Thomas Gleixner 058df195c2 x86/ioapic: Cleanup the timer_works() irqflags mess
Mark tripped over the creative irqflags handling in the IO-APIC timer
delivery check which ends up doing:

        local_irq_save(flags);
	local_irq_enable();
        local_irq_restore(flags);

which triggered a new consistency check he's working on required for
replacing the POPF based restore with a conditional STI.

That code is a historical mess and none of this is needed. Make it
straightforward use local_irq_disable()/enable() as that's all what is
required. It is invoked from interrupt enabled code nowadays.

Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/87k0tpju47.fsf@nanos.tec.linutronix.de
2020-12-10 23:02:31 +01:00
..
apic.c x86/apic: Support 15 bits of APIC ID in MSI where available 2020-10-28 20:26:29 +01:00
apic_common.c x86/apic: Fix signedness bug in APIC ID validity checks 2018-04-10 16:46:39 +02:00
apic_flat_64.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
apic_noop.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
apic_numachip.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
bigsmp_32.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
hw_nmi.c locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
io_apic.c x86/ioapic: Cleanup the timer_works() irqflags mess 2020-12-10 23:02:31 +01:00
ipi.c x86/apic: Replace pointless apic:: Dest_logical usage 2020-10-28 20:26:24 +01:00
local.h x86/headers: Remove APIC headers from <asm/smp.h> 2020-08-06 16:13:09 +02:00
Makefile x86/PCI: Remove unused HyperTransport interrupt support 2017-11-23 20:18:18 +01:00
msi.c x86/hpet: Move MSI support into hpet.c 2020-10-28 20:26:25 +01:00
probe_32.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
probe_64.c x86/irq: Move apic_post_init() invocation to one place 2020-09-16 16:52:35 +02:00
vector.c x86/apic: Add select() method on vector irqdomain 2020-10-28 20:26:27 +01:00
x2apic_cluster.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
x2apic_phys.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00
x2apic_uv_x.c x86/apic: Cleanup destination mode 2020-10-28 20:26:25 +01:00