public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Zachary Amsden <zamsden@redhat.com>
Cc: Julien Desfossez <ju@klipix.org>, kvm@vger.kernel.org
Subject: Re: vread in kvm_clock
Date: Mon, 20 Dec 2010 08:16:22 +0200	[thread overview]
Message-ID: <4D0EF4B6.7010908@redhat.com> (raw)
In-Reply-To: <4D0EAE28.7070103@redhat.com>

On 12/20/2010 03:15 AM, Zachary Amsden wrote:
> On 12/19/2010 05:27 AM, Avi Kivity wrote:
>> On 12/17/2010 07:43 PM, Zachary Amsden wrote:
>>> On 12/15/2010 10:16 AM, Julien Desfossez wrote:
>>>> Hi,
>>>>
>>>> I'm currently working with the kvm clocksource and I'm wondering if 
>>>> we could implement the vread function for this clock source when we 
>>>> are running on a host with constant_tsc.
>>>> If I understand correctly the hv_clock structure is per_cpu because 
>>>> of the eventual frequency changes, but in the case of constant_tsc 
>>>> (and after validation that the TSC is synchronized across all the 
>>>> cores) I think we could have a working vread function.
>>>>
>>>> In case of migration, could we have a fallback in case we detect we 
>>>> end up on a CPU without constant_tsc ?
>>>>
>>>> Any advice/explanation would be greatly appreciated !
>>>
>>> It's a bit more complex than that.  In addition to the problem you 
>>> mention with migration, even if the TSC is synchronized, the 
>>> kvmclock still is not, even with constant_tsc.  There is measurement 
>>> error in between reading the TSC and computing the per_cpu hv_clock 
>>> offset which varies between CPUs.
>>>
>>
>> What about using rdtscp?
>>
>> We could also disable kvmclock if constant_tsc and migration is not 
>> desired, or if constant_tsc and the new tsc multiplier on bulldozers 
>> is available on all machines in the migration cluster.
>
> Even then, we need an atomic in the vread path.

Why?

>
> The tsc multiplier does not look usable for virtualization, btw.

Why?

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


  reply	other threads:[~2010-12-20  6:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-15 20:16 vread in kvm_clock Julien Desfossez
2010-12-17 17:43 ` Zachary Amsden
2010-12-19 15:27   ` Avi Kivity
2010-12-20  1:15     ` Zachary Amsden
2010-12-20  6:16       ` Avi Kivity [this message]
2010-12-20 20:48         ` Zachary Amsden

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D0EF4B6.7010908@redhat.com \
    --to=avi@redhat.com \
    --cc=ju@klipix.org \
    --cc=kvm@vger.kernel.org \
    --cc=zamsden@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox