public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Fix build on i386 due to the latest tsc changes
@ 2012-02-16 13:48 Avi Kivity
  2012-02-16 13:48 ` [PATCH 1/2] KVM: Fix 64-bit division in kvm_set_tsc_khz() Avi Kivity
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Avi Kivity @ 2012-02-16 13:48 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: kvm

The code fixed by the second patch looks suspect though:

  nsdiff = data - kvm->arch.last_tsc_write;
  nsdiff = (nsdiff * 1000) / vcpu->arch.virtual_tsc_khz;

before the division, nsdiff is in tsc units.  Dividing it by
tsc_khz/1000 is equivalent to multiplying it by 1000000 and dividing it by
tsc_hz, so the result is in units of mega-seconds.  I expect we want

  nsdiff /= (u64)tsc_khz * 1000;

(which is somewhat hard on i386)

Avi Kivity (2):
  KVM: Fix 64-bit division in kvm_set_tsc_khz()
  KVM: Fix 64-bit division in kvm_write_tsc()

 arch/x86/kvm/x86.c |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

-- 
1.7.9


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-02-18 12:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-16 13:48 [PATCH 0/2] Fix build on i386 due to the latest tsc changes Avi Kivity
2012-02-16 13:48 ` [PATCH 1/2] KVM: Fix 64-bit division in kvm_set_tsc_khz() Avi Kivity
2012-02-16 13:48 ` [PATCH 2/2] KVM: Fix 64-bit division in kvm_write_tsc() Avi Kivity
2012-02-16 13:53 ` [PATCH 0/2] Fix build on i386 due to the latest tsc changes Avi Kivity
2012-02-18 12:46   ` Marcelo Tosatti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox