From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: "Dugger, Donald D" <donald.d.dugger@intel.com>,
"Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>,
Jan Beulich <JBeulich@novell.com>,
Keir Fraser <keir.fraser@eu.citrix.com>,
"Nakajima, Jun" <jun.nakajima@intel.com>
Subject: Re: pvclock in userland (reprise)
Date: Thu, 17 Sep 2009 13:13:03 -0700 [thread overview]
Message-ID: <4AB2984F.3070208@goop.org> (raw)
In-Reply-To: <33876a99-8f95-454d-a1f0-a52dcfcda40b@default>
On 09/17/09 12:45, Dan Magenheimer wrote:
> Well, as I've said all along, a driver in a dynamically loadable
> module is OK. Whether sensible or not, customers don't seem to
> care about that, they only care if you change the kernel bits
> that gets loaded.
>
A loadable driver wouldn't be able to claim fixmap slots or anything
like that, but, yes, it could present an mmapable device.
>> Once you're making kernel changes then you can update the pvclock
>> mechanism to use the xen clock algorithm, obviating the need for
>> usermode ABI changes.
>>
> Is that working yet (fast vsyscall under Xen)? >:-)
>
It's just a matter of someone spending some time on it. My frustration
with the pvtsc scheme is that its incredibly niche and is only going to
serve a very small number of users; a similar amount of effort spent on
a vsyscall solution will have a much larger payoff.
>> However, if its really the case that the tsc is guaranteed
>> synchronized,
>> then the guest can determine that for itself by looking at
>> cpuid and/or
>> /proc/cpuinfo (and presumably doing some sanity checking) and
>> then just
>> directly use rdtsc, with no need to change either Xen or the kernel.
>>
> That's exactly what the app is doing when on bare metal.
>
Sure. And they still need to deal with discontinuities resulting from
suspend/resume on bare-metal, so dealing with discontinuities caused by
migration is no different. And on bare metal it would need to compute
the tsc frequency for itself, so it doesn't really need Xen support for
that either.
> But in virtual unless it gets some kind of notification on
> migration (which would be cool, but would also require
> kernel changes?), it can't determine the appropriate
> scaling factor and offset, or that they need to change.
>
Well, they have access to xenbus, so they could get the tsc parameters
that way, along with notifications about changes. It wouldn't be
completely synchronous, but you'd need to implement the pvclock
algorithm to do that. But as I say, it has to cope with all this on
bare metal anyway, so it doesn't really need anything from Xen.
> (The userland pvclock algorithm would need to keep
> a version indicator just like the kernel pvclock does.)
> So that's what the userland-accessible shared page
> is needed for.
>
Sure. The mechanism is the same as you'd need to do vsyscall.
J
next prev parent reply other threads:[~2009-09-17 20:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-17 17:58 pvclock in userland (reprise) Dan Magenheimer
2009-09-17 19:03 ` Keir Fraser
2009-09-17 19:13 ` Nakajima, Jun
2009-09-17 19:23 ` Keir Fraser
2009-09-17 19:24 ` Jeremy Fitzhardinge
2009-09-17 19:45 ` Dan Magenheimer
2009-09-17 20:13 ` Jeremy Fitzhardinge [this message]
2009-09-17 20:57 ` Dan Magenheimer
2009-09-18 7:29 ` Jan Beulich
2009-09-18 8:06 ` Keir Fraser
2009-09-19 0:33 ` Jeremy Fitzhardinge
2009-09-19 10:47 ` Keir Fraser
2009-09-21 8:20 ` Jan Beulich
2009-09-21 18:54 ` Jeremy Fitzhardinge
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=4AB2984F.3070208@goop.org \
--to=jeremy@goop.org \
--cc=JBeulich@novell.com \
--cc=dan.magenheimer@oracle.com \
--cc=donald.d.dugger@intel.com \
--cc=jun.nakajima@intel.com \
--cc=keir.fraser@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.