This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Is there a way to get consistant time across different V

To: walmart <vmwalmart@xxxxxxxxx>
Subject: Re: [Xen-devel] Is there a way to get consistant time across different VMs?
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Tue, 07 Sep 2010 18:10:56 +1000
Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 07 Sep 2010 01:11:50 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTimn-67fkWaUno3m+Ndw=+Qm=FwcrYCRmoNNwx4U@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <AANLkTimn-67fkWaUno3m+Ndw=+Qm=FwcrYCRmoNNwx4U@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100806 Fedora/3.1.2-1.fc13 Lightning/1.0b2pre Thunderbird/3.1.2
 On 09/07/2010 02:12 PM, walmart wrote:
> Hi, all:
> I want to test some program, which requires a high precise time. (some
> thing as rdtsc).
> I tested rdtsc on different VMs, they are not consistant. (I am using
> Xen 4.0, Fedora 13, 64 bit).
> Is there a way to get consistant high precise time across different VMs?

Hm, you're walking into a bit of a minefield.

What are your precise requirements for:

    * accuracy
    * resolution
    * monotonicity
    * cross-cpu synchronization
    * cross-process synchronization


In general rdtsc isn't very useful as a timesource, since there are many
ways in which it can fail/do strange things from processor to processor
and system to system, so "s[a]me thing as rdtsc" doesn't tell us much.

However, in modern versions of Xen, you can turn on rdtsc emulation
which makes rdtsc generate a guaranteed global monotonic time value at a
nominal 1GHz rate (I think, or did that change to the starting CPU
speed?).  But the downside is that it results in a trap'n'emulate of the
instruction which is a bit more expensive than a raw rdtsc.

Or if you have a new Intel system with a really, truly nonstop
synchronized tsc, you can use rdtsc directly.

But if neither of those are acceptable/possible, you need to use the
normal Xen system time, which has a 1ns resolution, is fairly precise,
but not generally completely monotonic between cpus.  It also isn't
usable from usermode without some extra kernel patches.


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>