[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [LINUX] Avoid triggering the softlockup BUG when offline for too long.



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.