diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-10-25 15:23:49 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-11-02 21:32:17 +0100 |
commit | 5587859fb1e8bea5e3b8a0ab7866526ad7d1d673 (patch) | |
tree | e502e3a39eff934c27ee5f2374309f17ff1793c6 /arch/x86/kvm/lapic.c | |
parent | 8003c9ae204e21204e49816c5ea629357e283b06 (diff) | |
download | linux-5587859fb1e8bea5e3b8a0ab7866526ad7d1d673.tar.bz2 |
KVM: x86: use ktime_get instead of seeking the hrtimer_clock_base
The base clock for the LAPIC timer is always CLOCK_MONOTONIC.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/lapic.c')
-rw-r--r-- | arch/x86/kvm/lapic.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index d1a2e60a1ef6..6acd76b7e71d 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -1101,7 +1101,7 @@ static u32 apic_get_tmcct(struct kvm_lapic *apic) apic->lapic_timer.period == 0) return 0; - now = apic->lapic_timer.timer.base->get_time(); + now = ktime_get(); remaining = ktime_sub(apic->lapic_timer.target_expiration, now); if (ktime_to_ns(remaining) < 0) remaining = ktime_set(0, 0); @@ -1333,7 +1333,7 @@ static void start_sw_tscdeadline(struct kvm_lapic *apic) local_irq_save(flags); - now = apic->lapic_timer.timer.base->get_time(); + now = ktime_get(); guest_tsc = kvm_read_l1_tsc(vcpu, rdtsc()); if (likely(tscdeadline > guest_tsc)) { ns = (tscdeadline - guest_tsc) * 1000000ULL; @@ -1354,7 +1354,7 @@ static void start_sw_period(struct kvm_lapic *apic) return; if (apic_lvtt_oneshot(apic) && - ktime_after(apic->lapic_timer.timer.base->get_time(), + ktime_after(ktime_get(), apic->lapic_timer.target_expiration)) { apic_timer_expired(apic); return; @@ -1370,7 +1370,7 @@ static bool set_target_expiration(struct kvm_lapic *apic) ktime_t now; u64 tscl = rdtsc(); - now = apic->lapic_timer.timer.base->get_time(); + now = ktime_get(); apic->lapic_timer.period = (u64)kvm_lapic_get_reg(apic, APIC_TMICT) * APIC_BUS_CYCLE_NS * apic->divide_count; |