[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] fix VTi hangs
# HG changeset patch # User awilliam@xxxxxxxxxxx # Node ID 647d3208704a684d5b36af1e03ef636240dc550c # Parent 5586fd904efa8aa08072739bf23f86512c594def [IA64] fix VTi hangs In some scenarios, xen_timer_interrupt will not set machine itm, this may make this LP not receive timer interrupt any more. Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx> --- xen/arch/ia64/xen/xentime.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -r 5586fd904efa -r 647d3208704a xen/arch/ia64/xen/xentime.c --- a/xen/arch/ia64/xen/xentime.c Mon Aug 28 13:14:52 2006 -0600 +++ b/xen/arch/ia64/xen/xentime.c Mon Aug 28 13:18:36 2006 -0600 @@ -109,6 +109,7 @@ xen_timer_interrupt (int irq, void *dev_ xen_timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) { unsigned long new_itm, old_itc; + int f_setitm = 0; #if 0 #define HEARTBEAT_FREQ 16 // period in seconds @@ -129,11 +130,12 @@ xen_timer_interrupt (int irq, void *dev_ vcpu_pend_timer(current); // ensure another timer interrupt happens even if domain doesn't vcpu_set_next_timer(current); + f_setitm = 1; } new_itm = local_cpu_data->itm_next; - if (!VMX_DOMAIN(current) && !time_after(ia64_get_itc(), new_itm)) + if (f_setitm && !time_after(ia64_get_itc(), new_itm)) return; while (1) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |