[PATCH v5 21/20] arm/arm64: KVM: Load the timer state when enabling the timer

Marc Zyngier marc.zyngier at arm.com
Sat Oct 28 19:07:38 PDT 2017


On Sun, Oct 29 2017 at  2:48:56 am GMT, Christoffer Dall <christoffer.dall at linaro.org> wrote:
> After being lazy with saving/restoring the timer state, we defer that
> work to vcpu_load and vcpu_put, which ensure that the timer state is
> loaded on the hardware timers whenever the VCPU runs.
>
> Unfortunately, we are failing to do that the first time vcpu_load()
> runs, because the timer has not yet been enabled at that time.  As long
> as the initialized timer state matches what happens to be in the
> hardware (a disabled timer, because we never leave the timer screaming),
> this does not show up as a problem, but is nevertheless incorrect.
>
> The solution is simple; disable preemption while setting the timer to be
> enabled, and call the timer load function when first enabling the timer.
>
> Signed-off-by: Christoffer Dall <christoffer.dall at linaro.org>

Acked-by: Marc Zyngier <marc.zyngier at arm.com>

	M.
-- 
Jazz is not dead. It just smells funny.



More information about the linux-arm-kernel mailing list