]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/gic-v3-its: Limit scope of VPE mapping to be per ITS
authorMarc Zyngier <marc.zyngier@arm.com>
Sun, 8 Oct 2017 17:50:36 +0000 (18:50 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Thu, 19 Oct 2017 10:22:42 +0000 (11:22 +0100)
commitdc575e8d0cad0e3bf432fdd25a5c2e607d84fe81
treedb6503ddcfcce7581ac918b9c9770329d491eb82
parentc89f8bec7baa413a3986f483f92210be4fc25f35
irqchip/gic-v3-its: Limit scope of VPE mapping to be per ITS

So far, we map all VPEs on all ITSs. While this is not wrong,
this is quite a big hammer, as moving a VPE around requires
all ITSs to be synchronized. Needles to say, this is an
expensive proposition.

Instead, let's switch to a mode where we issue VMAPP commands
only on ITSs that are actually involved in reporting interrupts
to the given VM.

For that purpose, we refcount the number of interrupts are are
mapped for this VM on each ITS, performing the map/unmap
operations as required. It then allows us to use this refcount
to only issue VMOVP to the ITSs that need to know about this
VM.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-v3-its.c
include/linux/irqchip/arm-gic-v4.h