]> git.baikalelectronics.ru Git - kernel.git/commit
genirq: Introduce effective affinity mask
authorThomas Gleixner <tglx@linutronix.de>
Mon, 19 Jun 2017 23:37:38 +0000 (01:37 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 22 Jun 2017 16:21:20 +0000 (18:21 +0200)
commit73a733b55636e4b24061a795ef7ce278cae5e6b5
treef989dcf40159e1d77ca900dc6f9d42989df403e4
parent7b7206b8b1c7c3c41fc195642a07c27a39986ceb
genirq: Introduce effective affinity mask

There is currently no way to evaluate the effective affinity mask of a
given interrupt. Many irq chips allow only a single target CPU or a subset
of CPUs in the affinity mask.

Updating the mask at the time of setting the affinity to the subset would
be counterproductive because information for cpu hotplug about assigned
interrupt affinities gets lost. On CPU hotplug it's also pointless to force
migrate an interrupt, which is not targeted at the CPU effectively. But
currently the information is not available.

Provide a seperate mask to be updated by the irq_chip->irq_set_affinity()
implementations. Implement the read only proc files so the user can see the
effective mask as well w/o trying to deduce it from /proc/interrupts.

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.247834245@linutronix.de
include/linux/irq.h
kernel/irq/Kconfig
kernel/irq/debugfs.c
kernel/irq/irqdesc.c
kernel/irq/proc.c