]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: KVM: vgic-v3: Relax synchronization when SRE==1
authorMarc Zyngier <marc.zyngier@arm.com>
Wed, 25 May 2016 14:26:39 +0000 (15:26 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Tue, 31 May 2016 14:12:17 +0000 (16:12 +0200)
commit8e640ee9c450619ad544c6533995d1aaf252ff62
tree53e3161cbce9a94a724f9e9825350006a1c612a1
parent7a1aaec5d1fcce765ebaae3002fad331b2224b1f
arm64: KVM: vgic-v3: Relax synchronization when SRE==1

The GICv3 backend of the vgic is quite barrier heavy, in order
to ensure synchronization of the system registers and the
memory mapped view for a potential GICv2 guest.

But when the guest is using a GICv3 model, there is absolutely
no need to execute all these heavy barriers, and it is actually
beneficial to avoid them altogether.

This patch makes the synchonization conditional, and ensures
that we do not change the EL1 SRE settings if we do not need to.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/kvm/hyp/vgic-v3-sr.c