aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kvm/x86.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index f71500af1f81..f7c850b36910 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1416,15 +1416,6 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
1416 kernel_ns = 0; 1416 kernel_ns = 0;
1417 host_tsc = 0; 1417 host_tsc = 0;
1418 1418
1419 /* Keep irq disabled to prevent changes to the clock */
1420 local_irq_save(flags);
1421 this_tsc_khz = __get_cpu_var(cpu_tsc_khz);
1422 if (unlikely(this_tsc_khz == 0)) {
1423 local_irq_restore(flags);
1424 kvm_make_request(KVM_REQ_CLOCK_UPDATE, v);
1425 return 1;
1426 }
1427
1428 /* 1419 /*
1429 * If the host uses TSC clock, then passthrough TSC as stable 1420 * If the host uses TSC clock, then passthrough TSC as stable
1430 * to the guest. 1421 * to the guest.
@@ -1436,6 +1427,15 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
1436 kernel_ns = ka->master_kernel_ns; 1427 kernel_ns = ka->master_kernel_ns;
1437 } 1428 }
1438 spin_unlock(&ka->pvclock_gtod_sync_lock); 1429 spin_unlock(&ka->pvclock_gtod_sync_lock);
1430
1431 /* Keep irq disabled to prevent changes to the clock */
1432 local_irq_save(flags);
1433 this_tsc_khz = __get_cpu_var(cpu_tsc_khz);
1434 if (unlikely(this_tsc_khz == 0)) {
1435 local_irq_restore(flags);
1436 kvm_make_request(KVM_REQ_CLOCK_UPDATE, v);
1437 return 1;
1438 }
1439 if (!use_master_clock) { 1439 if (!use_master_clock) {
1440 host_tsc = native_read_tsc(); 1440 host_tsc = native_read_tsc();
1441 kernel_ns = get_kernel_ns(); 1441 kernel_ns = get_kernel_ns();