[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86 hvm: fix missing ticks bug of c/s 20218
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1253602836 -3600 # Node ID 6c178ba4d86a0380ee1a07f8c8632421b5539514 # Parent 3a71e070e3c5681d4394c943b6b0a17e8dab1720 x86 hvm: fix missing ticks bug of c/s 20218 With c/s 20218, timer ticks might be missed when IRQs of a timer are queued. "Next scheduled time" is accumulated wrongly. Thanks to Christoph for the report. Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> Reported-by: Christoph Egger <Christoph.Egger@xxxxxxx> --- xen/arch/x86/hvm/vpt.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) diff -r 3a71e070e3c5 -r 6c178ba4d86a xen/arch/x86/hvm/vpt.c --- a/xen/arch/x86/hvm/vpt.c Fri Sep 18 14:45:40 2009 +0100 +++ b/xen/arch/x86/hvm/vpt.c Tue Sep 22 08:00:36 2009 +0100 @@ -309,7 +309,6 @@ void pt_intr_post(struct vcpu *v, struct else { pt->scheduled += pt->period; - pt_process_missed_ticks(pt); if ( mode_is(v->domain, one_missed_tick_pending) || mode_is(v->domain, no_missed_ticks_pending) ) @@ -324,7 +323,11 @@ void pt_intr_post(struct vcpu *v, struct } if ( pt->pending_intr_nr == 0 ) + { + pt_process_missed_ticks(pt); + pt->do_not_freeze = 0; set_timer(&pt->timer, pt->scheduled); + } } if ( mode_is(v->domain, delay_for_missed_ticks) && _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |