|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] BUG() on soft lockup upon suspend/resume
Hi,
In systems with vcpu > 1, a BUG due to a detected soft lockup seems to be
triggered after system resume/suspend. This is probably due to the lack of
seqlocking around the region that does the local time processing.
The following patch fix this.
--
Glauber de Oliveira Costa
Red Hat Inc.
"Free as in Freedom"
--- linux-2.6.18-orig/arch/i386/kernel/time-xen.c 2006-10-06
14:37:41.000000000 -0400
+++ linux-2.6.18.x86_64/arch/i386/kernel/time-xen.c 2006-10-09
17:13:54.000000000 -0400
@@ -666,6 +666,13 @@ irqreturn_t timer_interrupt(int irq, voi
clock_was_set();
}
+ /* Local timer processing (see update_process_times()). */
+ run_local_timers();
+ if (rcu_pending(cpu))
+ rcu_check_callbacks(cpu, user_mode(regs));
+ scheduler_tick();
+ run_posix_cpu_timers(current);
+
write_sequnlock(&xtime_lock);
/*
@@ -709,13 +716,6 @@ irqreturn_t timer_interrupt(int irq, voi
(cputime_t)delta_cpu);
}
- /* Local timer processing (see update_process_times()). */
- run_local_timers();
- if (rcu_pending(cpu))
- rcu_check_callbacks(cpu, user_mode(regs));
- scheduler_tick();
- run_posix_cpu_timers(current);
-
return IRQ_HANDLED;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] BUG() on soft lockup upon suspend/resume,
Glauber de Oliveira Costa <=
|
|
|
|
|