Skip to content

Commit

Permalink
KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Marc Zyngier authored and Thomas Gleixner committed Jan 27, 2016
1 parent 9006a01 commit a6e707d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions virt/kvm/arm/arch_timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
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);
}

Expand Down Expand Up @@ -308,7 +308,7 @@ void kvm_timer_vcpu_init(struct kvm_vcpu *vcpu)
struct arch_timer_cpu *timer = &vcpu->arch.timer_cpu;

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;
}

Expand Down

0 comments on commit a6e707d

Please sign in to comment.