All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.