KVM: arm64: Reduce overhead of trapped timer sysreg accesses
Each read/write to a trapped timer system register results in a whole kvm_timer_vcpu_put/load() cycle which affects all of the timers, and a bit more. There is no need for such a thing, and we can limit the impact to the timer being affected, and only this one. This drastically simplifies the emulated case, and limits the damage for trapped accesses. This also brings some performance back for NV. Whilst we're at it, fix a comment that didn't quite capture why we always set CNTVOFF_EL2 to 0 when disabling the virtual timer. Signed-off-by:Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230112123829.458912-3-maz@kernel.org Signed-off-by:
Oliver Upton <oliver.upton@linux.dev>
Loading
Please sign in to comment