|
@@ -1416,15 +1416,6 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
|
|
|
kernel_ns = 0;
|
|
|
host_tsc = 0;
|
|
|
|
|
|
- /* Keep irq disabled to prevent changes to the clock */
|
|
|
- local_irq_save(flags);
|
|
|
- this_tsc_khz = __get_cpu_var(cpu_tsc_khz);
|
|
|
- if (unlikely(this_tsc_khz == 0)) {
|
|
|
- local_irq_restore(flags);
|
|
|
- kvm_make_request(KVM_REQ_CLOCK_UPDATE, v);
|
|
|
- return 1;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* If the host uses TSC clock, then passthrough TSC as stable
|
|
|
* to the guest.
|
|
@@ -1436,6 +1427,15 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
|
|
|
kernel_ns = ka->master_kernel_ns;
|
|
|
}
|
|
|
spin_unlock(&ka->pvclock_gtod_sync_lock);
|
|
|
+
|
|
|
+ /* Keep irq disabled to prevent changes to the clock */
|
|
|
+ local_irq_save(flags);
|
|
|
+ this_tsc_khz = __get_cpu_var(cpu_tsc_khz);
|
|
|
+ if (unlikely(this_tsc_khz == 0)) {
|
|
|
+ local_irq_restore(flags);
|
|
|
+ kvm_make_request(KVM_REQ_CLOCK_UPDATE, v);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
if (!use_master_clock) {
|
|
|
host_tsc = native_read_tsc();
|
|
|
kernel_ns = get_kernel_ns();
|