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

[Xen-devel] [PATCH] xen: use s_time_t for periodic timer deadlines



xen: use s_time_t for periodic timer deadlines.  
Otherwise vcpu_periodic_timer_work() can think the next timer is in the
future (and re-issue it unchanged) while timer_softirq_action() thinks 
it's in the past (and fires it immediately), leading to livelock.

Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>

diff -r e316ad18de3c xen/common/schedule.c
--- a/xen/common/schedule.c     Wed Jul 07 11:27:36 2010 +0100
+++ b/xen/common/schedule.c     Wed Jul 07 14:33:39 2010 +0100
@@ -992,7 +992,7 @@
 static void vcpu_periodic_timer_work(struct vcpu *v)
 {
     s_time_t now = NOW();
-    uint64_t periodic_next_event;
+    s_time_t periodic_next_event;
 
     if ( v->periodic_period == 0 )
         return;
diff -r e316ad18de3c xen/include/xen/sched.h
--- a/xen/include/xen/sched.h   Wed Jul 07 11:27:36 2010 +0100
+++ b/xen/include/xen/sched.h   Wed Jul 07 14:33:39 2010 +0100
@@ -89,8 +89,8 @@
 
     struct vcpu     *next_in_list;
 
-    uint64_t         periodic_period;
-    uint64_t         periodic_last_event;
+    s_time_t         periodic_period;
+    s_time_t         periodic_last_event;
     struct timer     periodic_timer;
     struct timer     singleshot_timer;
 

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


 


Rackspace

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