genirq: Introduce IRQD_MANAGED_SHUTDOWN
authorThomas Gleixner <tglx@linutronix.de>
Mon, 19 Jun 2017 23:37:47 +0000 (01:37 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 22 Jun 2017 16:21:23 +0000 (18:21 +0200)
commit54fdf6a0875ca380647ac1cc9b5b8f2dbbbfa131
treeff92b259f8fbacc29e7299d1e7e290b0b5d604ed
parentc7d6c9dd871f42c4e0ce5563d2f684e78ea673cf
genirq: Introduce IRQD_MANAGED_SHUTDOWN

Affinity managed interrupts should keep their assigned affinity accross CPU
hotplug. To avoid magic hackery in device drivers, the core code shall
manage them transparently. This will set these interrupts into a managed
shutdown state when the last CPU of the assigned affinity mask goes
offline. The interrupt will be restarted when one of the CPUs in the
assigned affinity mask comes back online.

Introduce the necessary state flag and the accessor functions.

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/20170619235446.954523476@linutronix.de
include/linux/irq.h
kernel/irq/internals.h