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

[Xen-changelog] [xen-unstable] hvm: time: Fixes to 'SYNC' (no_missed_ticks_pending) timer handling.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1199802683 0
# Node ID 01adaec882d4ea62aede17926716d122b084dd94
# Parent  66db23ecd5628d87890abe0744ae3dc20b62bced
hvm: time: Fixes to 'SYNC' (no_missed_ticks_pending) timer handling.
Based on a patch by Dave Winchell <dwinchell@xxxxxxxxxxxxxxx>
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/hvm/vpt.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff -r 66db23ecd562 -r 01adaec882d4 xen/arch/x86/hvm/vpt.c
--- a/xen/arch/x86/hvm/vpt.c    Tue Jan 08 13:57:45 2008 +0000
+++ b/xen/arch/x86/hvm/vpt.c    Tue Jan 08 14:31:23 2008 +0000
@@ -167,6 +167,7 @@ static void pt_timer_fn(void *data)
     pt_lock(pt);
 
     pt->pending_intr_nr++;
+    pt->do_not_freeze = 0;
 
     if ( !pt->one_shot )
     {
@@ -253,7 +254,6 @@ void pt_intr_post(struct vcpu *v, struct
         return;
     }
 
-    pt->do_not_freeze = 0;
     pt->irq_issued = 0;
 
     if ( pt->one_shot )
@@ -264,7 +264,8 @@ void pt_intr_post(struct vcpu *v, struct
     }
     else
     {
-        if ( mode_is(v->domain, one_missed_tick_pending) )
+        if ( mode_is(v->domain, one_missed_tick_pending) ||
+             mode_is(v->domain, no_missed_ticks_pending) )
         {
             pt->last_plt_gtime = hvm_get_guest_time(v);
             pt->pending_intr_nr = 0; /* 'collapse' all missed ticks */

_______________________________________________
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®.