KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW
In order to avoid NTP messing with the guest timer behind our back, use the new and improved monotonic raw version of the hrtimers. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Tomasz Nowicki <tn@semihalf.com> Cc: Christoffer Dall <christoffer.dall@linaro.org> Link: http://lkml.kernel.org/r/1452879670-16133-4-git-send-email-marc.zyngier@arm.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
9006a01829
commit
a6e707ddbd
@ -48,7 +48,7 @@ static bool timer_is_armed(struct arch_timer_cpu *timer)
|
|||||||
static void timer_arm(struct arch_timer_cpu *timer, u64 ns)
|
static void timer_arm(struct arch_timer_cpu *timer, u64 ns)
|
||||||
{
|
{
|
||||||
timer->armed = true;
|
timer->armed = true;
|
||||||
hrtimer_start(&timer->timer, ktime_add_ns(ktime_get(), ns),
|
hrtimer_start(&timer->timer, ktime_add_ns(ktime_get_raw(), ns),
|
||||||
HRTIMER_MODE_ABS);
|
HRTIMER_MODE_ABS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -308,7 +308,7 @@ void kvm_timer_vcpu_init(struct kvm_vcpu *vcpu)
|
|||||||
struct arch_timer_cpu *timer = &vcpu->arch.timer_cpu;
|
struct arch_timer_cpu *timer = &vcpu->arch.timer_cpu;
|
||||||
|
|
||||||
INIT_WORK(&timer->expired, kvm_timer_inject_irq_work);
|
INIT_WORK(&timer->expired, kvm_timer_inject_irq_work);
|
||||||
hrtimer_init(&timer->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
|
hrtimer_init(&timer->timer, CLOCK_MONOTONIC_RAW, HRTIMER_MODE_ABS);
|
||||||
timer->timer.function = kvm_timer_expire;
|
timer->timer.function = kvm_timer_expire;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user