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.
next prev parent 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