[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [HVM] Only update guest time on timer interrupt delivery if the guest time is in the past.



# HG changeset patch
# User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
# Date 1169207932 0
# Node ID 2ef07c6107296c4a0366b1088c5a64b310c29d50
# Parent  683bc79cf579d83be451daded565454d81dffdea
[HVM] Only update guest time on timer interrupt delivery if the guest time is 
in the past.

Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
 xen/arch/x86/hvm/vpt.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

diff -r 683bc79cf579 -r 2ef07c610729 xen/arch/x86/hvm/vpt.c
--- a/xen/arch/x86/hvm/vpt.c    Fri Jan 19 10:12:39 2007 +0000
+++ b/xen/arch/x86/hvm/vpt.c    Fri Jan 19 11:58:52 2007 +0000
@@ -163,13 +163,17 @@ void pt_intr_post(struct vcpu *v, int ve
 void pt_intr_post(struct vcpu *v, int vector, int type)
 {
     struct periodic_time *pt = is_pt_irq(v, vector, type);
+    unsigned long long gtime;
 
     if ( pt == NULL )
         return;
 
     pt->pending_intr_nr--;
     pt->last_plt_gtime += pt->period_cycles;
-    hvm_set_guest_time(pt->vcpu, pt->last_plt_gtime);
+
+    gtime = hvm_get_guest_time(pt->vcpu);
+    if (gtime < pt->last_plt_gtime)
+        hvm_set_guest_time(pt->vcpu, pt->last_plt_gtime);
 
     if ( pt->cb != NULL )
         pt->cb(pt->vcpu, pt->priv);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.