|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [LINUX] Avoid triggering the softlockup B
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID 53795f0a41b116d0fb428bd3ee4a099b42fca97f
# Parent f32abd365ae006e4dfda7ec206a9955b3cd57da2
[LINUX] Avoid triggering the softlockup BUG when offline for too long.
After being offline for a long time, the softlockup watchdog triggers
a BUG() on our faces. This is expected, as in fact, we spent more than
a fixed 10*HZ amount of time without touching the watchdog.
However, by inspecting the contents of stolen inside timer irq handler,
we can gain awareness of the fact, and do better than that.
Signed-off-by: Glauber de Oliveira Costa <gcosta@xxxxxxxxxx>
---
linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c | 4 ++++
1 files changed, 4 insertions(+)
diff -r f32abd365ae0 -r 53795f0a41b1
linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c Wed Nov 29 12:04:49
2006 +0000
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c Wed Nov 29 12:16:59
2006 +0000
@@ -709,6 +709,10 @@ irqreturn_t timer_interrupt(int irq, voi
account_system_time(current, HARDIRQ_OFFSET,
(cputime_t)delta_cpu);
}
+
+ /* Offlined for more than a few seconds? Avoid lockup warnings. */
+ if (stolen > 5*HZ)
+ touch_softlockup_watchdog();
/* Local timer processing (see update_process_times()). */
run_local_timers();
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [LINUX] Avoid triggering the softlockup BUG when offline for too long.,
Xen patchbot-unstable <=
|
|
|
|
|