linux/kernel/irq
Christoffer Dall 250a53d6fc genirq: Document vcpu_info usage for percpu_devid interrupts
It is currently unclear how to set the VCPU affinity for a percpu_devid
interrupt , since the Linux irq_data structure describes the state for
multiple interrupts, one for each physical CPU on the system.  Since
each such interrupt can be associated with different VCPUs or none at
all, associating a single VCPU state with such an interrupt does not
capture the necessary semantics.

The implementers of irq_set_affinity are the Intel and AMD IOMMUs, and
the ARM GIC irqchip.  The Intel and AMD callers do not appear to use
percpu_devid interrupts, and the ARM GIC implementation only checks the
pointer against NULL vs. non-NULL.

Therefore, simply update the function documentation to explain the
expected use in the context of percpu_devid interrupts, allowing future
changes or additions to irqchip implementers to do the right thing.

Signed-off-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: kvm@vger.kernel.org
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Eric Auger <eric.auger@redhat.com>
Cc: kvmarm@lists.cs.columbia.edu
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lkml.kernel.org/r/1509093281-15225-13-git-send-email-cdall@linaro.org
2017-10-29 16:18:37 +01:00
..
affinity.c pci-v4.13-changes 2017-07-08 15:51:57 -07:00
autoprobe.c genirq: Separate activation and startup 2017-09-25 20:38:24 +02:00
chip.c genirq/irqdomain: Propagate early activation 2017-09-25 20:38:25 +02:00
cpuhotplug.c genirq/cpuhotplug: Revert "Set force affinity flag on hotplug migration" 2017-07-27 15:40:02 +02:00
debug.h irq: hide debug macros so they don't collide with others. 2012-04-23 12:30:03 -04:00
debugfs.c irqdomain/debugfs: Provide domain specific debug callback 2017-09-25 20:38:23 +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 There has been a fair amount of activity in the docs tree this time 2017-07-03 21:13:25 -07:00
internals.h genirq/irqdomain: Propagate early activation 2017-09-25 20:38:25 +02:00
ipi.c genirq/ipi: Fixup checks against nr_cpu_ids 2017-08-20 10:49:05 +02:00
irq_sim.c genirq/irq_sim: Add a devres variant of irq_sim_init() 2017-08-16 16:40:02 +02:00
irqdesc.c genirq: Set managed shut down flag at init 2017-09-25 20:38:23 +02:00
irqdomain.c irqdomain: Add __rcu annotations to radix tree slot 2017-10-19 10:30:15 +01:00
Kconfig genirq: Implement bitmap matrix allocator 2017-09-25 20:38:26 +02:00
Makefile genirq: Implement bitmap matrix allocator 2017-09-25 20:38:26 +02:00
manage.c genirq: Document vcpu_info usage for percpu_devid interrupts 2017-10-29 16:18:37 +01:00
matrix.c genirq/matrix: Add tracepoints 2017-09-25 20:38:26 +02:00
migration.c genirq: Provide irq_fixup_move_pending() 2017-06-22 18:21:13 +02:00
msi.c genirq/irqdomain: Add force reactivation flag to irq domains 2017-09-25 20:38:25 +02:00
pm.c genirq/PM: Properly pretend disabled state when force resuming interrupts 2017-07-17 22:32:20 +02:00
proc.c genirq/proc: Avoid uninitalized variable warning 2017-08-25 22:40:26 +02: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
timings.c genirq/timings: Add infrastructure for estimating the next interrupt arrival time 2017-06-24 11:44:39 +02:00