KVM: vgic-v4: Track the number of VLPIs per vcpu
authorMarc Zyngier <maz@kernel.org>
Thu, 7 Nov 2019 16:04:11 +0000 (16:04 +0000)
committerMarc Zyngier <maz@kernel.org>
Fri, 8 Nov 2019 11:13:24 +0000 (11:13 +0000)
commit5bd90b0989731520f2cdcfbbe467f1271f3cc803
treef54a4b2b5212fa7916d6ecdf90c8eabf9ae9bff8
parent9090825fa99740f0c794f94b9cbd57ad79101228
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
include/linux/irqchip/arm-gic-v4.h
virt/kvm/arm/vgic/vgic-init.c
virt/kvm/arm/vgic/vgic-its.c
virt/kvm/arm/vgic/vgic-v4.c