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>
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;
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;