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] how to keep time of windows pvhvm synchronized with host

To: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Subject: Re: [Xen-devel] how to keep time of windows pvhvm synchronized with host after resuming
From: ANNIE LI <annie.li@xxxxxxxxxx>
Date: Thu, 16 Sep 2010 18:00:44 +0800
Cc: Paul Durrant <Paul.Durrant@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 16 Sep 2010 03:02:29 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100916091914.GC11387@xxxxxxxxxxxxxxxxxxxxxxx>
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>
Organization: Oracle Corporation
References: <4C91D5C0.5030802@xxxxxxxxxx> <291EDFCB1E9E224A99088639C47620228CF769FEC1@xxxxxxxxxxxxxxxxxxxxxxxxx> <20100916091914.GC11387@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (Windows/20100228)

Tim Deegan wrote:
At 09:59 +0100 on 16 Sep (1284631199), Paul Durrant wrote:
As I understand it wc_sec + wc_nsec should give the number of
nanoseconds since the Unix epoch at which the system was booted.

More specifically, they're what you should add to the current Xen system
time to get the wallclock time (they can change over time as the system
time drifts).  I'm surprised to hear that they're zero.  Even if dom0
isn't updating them (which IIRC pv-ops dom0 doesn't) they should have
been set from the RTC at boot time.  It's possible that your domain's
shared-info page is in the wrong word size - if you haven't set up a
hypercall page or set HVM_PARAM_CALLBACK_IRQ since the domain was
created (i.e. since restore) it might be wrong. 
Thanks very much for the details.
I setup the hypercall page and HVM_PARAM_CALLBACK_IRQ, will do further check about this issue.
One problem with using wc_[n]sec to get the wallclock time is that the
usual Xen way to get the system time is to interpolate it from the RDTSC
value and the per-vcpu time info, but in a HVM guest the OS may have
changed the TSC offset to something that the driver can't figure out.
The Citrix PV drivers use the HVMOP_get_time hypercall to get the system
time instead; that hypercall is in xen-unstable but not the 4.0 branch.

If you're using a linux guest with Stefano's pv-on-hvm patches then I
think you should be able to read the PV system time as normal.
Tons of Thanks. I will do more test and try to implement this as your explanation.



-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-
bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of ANNIE LI
Sent: 16 September 2010 09:31
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] how to keep time of windows pvhvm synchronized
with host after resuming


When the virtual machine is resumed from suspend, the guest
system's wall-clock time remains at the value it had at the time of
suspension. For linux pvm, we can avoid resolve issue by setting
independent_wallclock=0. However, HVM(or PVHVM) does not support

I did some investigation on how to implement this in windows
para-virtualization driver. In \include\xen\interface\xen.h, there
several variables about timer such as: wc_sec and wc_nsec, and
vcpu_time_info struct. It is very strange, wc_sec and wc_nsec is
zero for my windows vm with para-virtualization driver.
only contains time info for specific vcpu. Should i use those
to get accurate time for VM? Is there any corresponding source code
algorithms available now? Is it safe to simply update vm time after

Citrix 5.6 Windows para-virtualization driver will notify windows
time change after resuming, and resumed windows vm with Citrix pv
can keep it's time synchronized with host. Would you like to give me
some clues about how to implement this?

Any help is greatly appreciated.


Xen-devel mailing list

Content-Description: ATT00001..txt
Xen-devel mailing list

Xen-devel mailing list