summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2019-11-07 16:04:11 +0000
committerMarc Zyngier <maz@kernel.org>2019-11-08 11:13:24 +0000
commit5bd90b0989731520f2cdcfbbe467f1271f3cc803 (patch)
treef54a4b2b5212fa7916d6ecdf90c8eabf9ae9bff8 /include
parent9090825fa99740f0c794f94b9cbd57ad79101228 (diff)
downloadlinux-5bd90b0989731520f2cdcfbbe467f1271f3cc803.tar.bz2
KVM: vgic-v4: Track the number of VLPIs per vcpu
In order to find out whether a vcpu is likely to be the target of VLPIs (and to further optimize the way we deal with those), let's track the number of VLPIs a vcpu can receive. This gets implemented with an atomic variable that gets incremented or decremented on map, unmap and move of a VLPI. Signed-off-by: Marc Zyngier <maz@kernel.org> Reviewed-by: Zenghui Yu <yuzenghui@huawei.com> Reviewed-by: Christoffer Dall <christoffer.dall@arm.com> Link: https://lore.kernel.org/r/20191107160412.30301-2-maz@kernel.org
Diffstat (limited to 'include')
-rw-r--r--include/linux/irqchip/arm-gic-v4.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/irqchip/arm-gic-v4.h b/include/linux/irqchip/arm-gic-v4.h
index ab1396afe08a..5dbcfc65f21e 100644
--- a/include/linux/irqchip/arm-gic-v4.h
+++ b/include/linux/irqchip/arm-gic-v4.h
@@ -32,6 +32,8 @@ struct its_vm {
struct its_vpe {
struct page *vpt_page;
struct its_vm *its_vm;
+ /* per-vPE VLPI tracking */
+ atomic_t vlpi_count;
/* Doorbell interrupt */
int irq;
irq_hw_number_t vpe_db_lpi;