From: Keir Fraser <keir.fraser@eu.citrix.com>
To: "dan.magenheimer@oracle.com" <dan.magenheimer@oracle.com>,
"Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH] [RFC] Building guests on monotonic Xen system time
Date: Tue, 20 May 2008 08:36:35 +0100 [thread overview]
Message-ID: <C4583E13.18C17%keir.fraser@eu.citrix.com> (raw)
In-Reply-To: <20080519122702562.00000002648@djm-pc>
On 19/5/08 19:27, "Dan Magenheimer" <dan.magenheimer@oracle.com> wrote:
> Why? Scaling and adjusting of xen-time-based-tsc will
> be very difficult to coordinate with processor-based-tsc.
> We need to always ensure that A < B < C for a guest
> executing:
>
> rdtsc(A) /* untrapped */
> emulated_rdtsc(B)
> rdtsc(C) /* untrapped */
>
> Further, OS's use TSC as a highest-resolution time source
> with knowledge that TSCs on different processors may
> not be synchronized, whereas they assume that a platform
> timer is one-per-system and monotonically increasing.
>
> Keir, if you disagree and see guest-TSC-on-Xen-system-time
> as an absolute must, please let me know.
I am inclined to say we should have a guest-TSC-on-system-time mode where
*all* RDTSC executions get trapped. This would at least be useful as a
baseline for tracking down guest time problems, and also provide a
guaranteed stable TSC timesource for those who care about that more than
pure performance.
*However* I would agree that, with TSC virtualisation as it currently is,
there actually isn't really a way to build guest TSC on Xen system time
without periodically warping the TSC back or forth. The guest TSC runs at
the host TSC rate and that is that!
I think my original point was that at least we should not build all our
other virtual time sources on this dodgy 'guest TSC'. :-)
-- Keir
next prev parent reply other threads:[~2008-05-20 7:36 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-16 17:31 [PATCH] [RFC] Building guests on monotonic Xen system time Dan Magenheimer
2008-05-19 18:27 ` Dan Magenheimer
2008-05-20 0:56 ` Dan Magenheimer
2008-05-20 7:36 ` Keir Fraser [this message]
2008-05-21 19:01 ` Dan Magenheimer
2008-05-22 8:46 ` Keir Fraser
2008-05-22 16:05 ` Dan Magenheimer
2008-05-22 16:11 ` Keir Fraser
2008-05-23 22:44 ` Dan Magenheimer
2008-05-24 7:34 ` Keir Fraser
2008-06-03 19:47 ` Dan Magenheimer
2008-06-03 21:10 ` Keir Fraser
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=C4583E13.18C17%keir.fraser@eu.citrix.com \
--to=keir.fraser@eu.citrix.com \
--cc=dan.magenheimer@oracle.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.