Tim Deegan
2010-Jul-07 13:39 UTC
[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@citrix.com>
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@lists.xensource.com
http://lists.xensource.com/xen-devel