From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: xen-devel@lists.xensource.com, Tim Deegan <Tim.Deegan@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: pvclock (PV and HVM) and vsyscall
Date: Mon, 18 Oct 2010 09:34:05 -0700 [thread overview]
Message-ID: <4CBC76FD.6030402@goop.org> (raw)
In-Reply-To: <0d25b778-04e1-432b-8c5c-0f62903f7839@default>
On 10/17/2010 06:29 PM, Dan Magenheimer wrote:
>> From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
>> Sent: Friday, October 15, 2010 6:28 PM
>> To: Dan Magenheimer
>> Cc: Tim Deegan; Stefano Stabellini; xen-devel@lists.xensource.com
>> Subject: Re: pvclock (PV and HVM) and vsyscall
>>
>> On 10/15/2010 08:48 AM, Dan Magenheimer wrote:
>>> The other discussion of RADclock reminded me:
>>>
>>> IIRC the pvclock algorithm is still incompatible with
>>> vsyscall/vdso (fast system calls) and there was no obvious
>>> and upstreamable solution to resolve this.
>>>
>>> This means that any userland call to the various gettimeofday
>>> routines will always do a true system call on both (a) a PV
>>> domain or (b) any PV on HVM domain with Stefanos' pvclock patch.
>>>
>>> Since true syscalls are very expensive on a 64-bit
>>> PV domain, I'm wondering if pvclock is still the right
>>> default choice for upstream (at least for 64-bit).
>> What other options are there? If the tsc is globally stable, then
>> using
>> pvclock in userspace will work fine; if it isn't, you'll need to do the
>> syscall anyway.
>>
>> There's no basic problem with the vsyscall pvclock patch so long as we
>> can know under what circumstances it is safe to enable.
> I think (but am not positive) that the circumstances under which
> vsyscall pvclock can be enabled are exactly the same as those
> for which tsc is globally stable. And when tsc is globally stable,
> upstream guest kernels can use tsc instead of pvclock.
Not wanting to go around in circles, but usermode can't reliably know
whether the tsc is stable enough to be usable directly. Its most
reliable course is to always use the proper APIs and rely on the kernel
to implement the most efficient mechanism for those APIs.
J
next prev parent reply other threads:[~2010-10-18 16:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-15 15:48 pvclock (PV and HVM) and vsyscall Dan Magenheimer
2010-10-16 0:28 ` Jeremy Fitzhardinge
2010-10-18 1:29 ` Dan Magenheimer
2010-10-18 16:34 ` Jeremy Fitzhardinge [this message]
2010-10-18 17:16 ` Dan Magenheimer
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=4CBC76FD.6030402@goop.org \
--to=jeremy@goop.org \
--cc=Tim.Deegan@citrix.com \
--cc=dan.magenheimer@oracle.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xensource.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.