From ae6b74c89ecd92d991626b0993907a967fa091c6 Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Thu, 26 Aug 2010 13:38:03 +0300 Subject: [PATCH] --- yaml --- r: 215797 b: refs/heads/master c: 217fc9cfca21a0bc2f4246183ebd8ee9863b019d h: refs/heads/master i: 215795: dd8d629ba2f34b7523e55f6b2467be3c283982a9 v: v3 --- [refs] | 2 +- trunk/arch/x86/kvm/x86.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 12ddf4610b69..dcad9b768b07 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 34d1f4905eb66478a890ea808ec58bc842e6e589 +refs/heads/master: 217fc9cfca21a0bc2f4246183ebd8ee9863b019d diff --git a/trunk/arch/x86/kvm/x86.c b/trunk/arch/x86/kvm/x86.c index bc96ac9ed912..bdba1d09a97e 100644 --- a/trunk/arch/x86/kvm/x86.c +++ b/trunk/arch/x86/kvm/x86.c @@ -56,6 +56,7 @@ #include #include #include +#include #define MAX_IO_MSRS 256 #define CR0_RESERVED_BITS \ @@ -917,11 +918,15 @@ static inline int kvm_tsc_changes_freq(void) static inline u64 nsec_to_cycles(u64 nsec) { + u64 ret; + WARN_ON(preemptible()); if (kvm_tsc_changes_freq()) printk_once(KERN_WARNING "kvm: unreliable cycle conversion on adjustable rate TSC\n"); - return (nsec * __get_cpu_var(cpu_tsc_khz)) / USEC_PER_SEC; + ret = nsec * __get_cpu_var(cpu_tsc_khz); + do_div(ret, USEC_PER_SEC); + return ret; } void kvm_write_tsc(struct kvm_vcpu *vcpu, u64 data)