linux/kernel/irq
Thomas Gleixner cdd16365b0 genirq: Provide irq_fixup_move_pending()
If an CPU goes offline, the interrupts are migrated away, but a eventually
pending interrupt move, which has not yet been made effective is kept
pending even if the outgoing CPU is the sole target of the pending affinity
mask. What's worse is, that the pending affinity mask is discarded even if
it would contain a valid subset of the online CPUs.

Implement a helper function which allows to avoid these issues.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Christoph Hellwig <hch@lst.de>
Link: http://lkml.kernel.org/r/20170619235444.691345468@linutronix.de
2017-06-22 18:21:13 +02:00
..
affinity.c genirq/affinity: Fix calculating vectors to assign 2017-04-20 16:03:09 +02:00
autoprobe.c
chip.c genirq: Warn when IRQ_NOAUTOEN is used with shared interrupts 2017-06-04 14:38:41 +02:00
cpuhotplug.c genirq: Make the cpuhotplug migration code less noisy 2015-10-22 14:34:57 +02:00
debug.h
debugfs.c genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
devres.c irq/generic-chip: Provide devm_irq_setup_generic_chip() 2017-06-21 15:53:11 +02:00
dummychip.c Merge branch 'linus' into irq/core 2015-06-05 22:25:01 +02:00
generic-chip.c irq/generic-chip: Export irq_init_generic_chip() locally 2017-06-21 15:53:11 +02:00
handle.c genirq: Add untracked irq handler 2016-06-18 10:00:55 +02:00
internals.h genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
ipi.c genirq: Fix missing irq allocation affinity hint 2016-07-19 10:49:47 +02:00
irqdesc.c genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
irqdomain.c genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
Kconfig genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
Makefile genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
manage.c genirq/debugfs: Add proper debugfs interface 2017-06-22 18:21:13 +02:00
migration.c genirq: Provide irq_fixup_move_pending() 2017-06-22 18:21:13 +02:00
msi.c genirq/msi: Prevent overwriting domain name 2017-06-22 18:21:08 +02:00
pm.c Merge branches 'irq-urgent-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-15 09:30:48 -08:00
proc.c genirq: Fix /proc/interrupts output alignment 2017-02-10 20:17:52 +01:00
resend.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
settings.h genirq: Add flag to force mask in disable_irq[_nosync]() 2015-10-11 11:33:42 +02:00
spurious.c genirq: Clarify logic calculating bogus irqreturn_t values 2017-02-16 15:32:19 +01:00