Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 463656c0 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Replace kvmclock open-coded get_cpu_var() with the real thing



Suggested by Ingo Molnar.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent 8317c298
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -631,16 +631,17 @@ static void kvm_write_guest_time(struct kvm_vcpu *v)
	unsigned long flags;
	struct kvm_vcpu_arch *vcpu = &v->arch;
	void *shared_kaddr;
	unsigned long this_tsc_khz;

	if ((!vcpu->time_page))
		return;

	preempt_disable();
	if (unlikely(vcpu->hv_clock_tsc_khz != __get_cpu_var(cpu_tsc_khz))) {
		kvm_set_time_scale(__get_cpu_var(cpu_tsc_khz), &vcpu->hv_clock);
		vcpu->hv_clock_tsc_khz = __get_cpu_var(cpu_tsc_khz);
	this_tsc_khz = get_cpu_var(cpu_tsc_khz);
	if (unlikely(vcpu->hv_clock_tsc_khz != this_tsc_khz)) {
		kvm_set_time_scale(this_tsc_khz, &vcpu->hv_clock);
		vcpu->hv_clock_tsc_khz = this_tsc_khz;
	}
	preempt_enable();
	put_cpu_var(cpu_tsc_khz);

	/* Keep irq disabled to prevent changes to the clock */
	local_irq_save(flags);