xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* NMI: Enable watchdog by default
@ 2012-03-07 16:55 Andrew Cooper
  2012-03-07 17:08 ` Jan Beulich
  2012-03-07 17:11 ` Keir Fraser
  0 siblings, 2 replies; 8+ messages in thread
From: Andrew Cooper @ 2012-03-07 16:55 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com; +Cc: Keir Fraser, Jan Beulich

[-- Attachment #1: Type: text/plain, Size: 270 bytes --]

This patch is based on one which has been in XenServer for a very long.

To keep the trend of documentation going, it also corrects the new
command line document.

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


[-- Attachment #2: enable-nmi-watchdog.patch --]
[-- Type: text/x-patch, Size: 2083 bytes --]

# HG changeset patch
# Parent e193375fb82af819eb55a1189308fcd4c1e8b40f
NMI: Enable watchdog by default.

This should make hung conditions more visible.  Change the timeout from 5
seconds to 300, as several operations on large guests take far longer than 5
seconds.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

diff -r e193375fb82a docs/misc/xen-command-line.markdown
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -391,7 +391,10 @@ The optional `keep` parameter causes Xen
 ### watchdog
 > `= <boolean>`
 
-Run an NMI watchdog on each processor.  Defaults to disabled.
+> Default: `true`
+
+Run an NMI watchdog on each processor.  A CPU hung for more than 300 seconds will result in a panic, making hung conditions more visible.
+
 ### x2apic
 ### x2apic\_phys
 ### xencons
diff -r e193375fb82a xen/arch/x86/nmi.c
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -425,11 +425,12 @@ void nmi_watchdog_tick(struct cpu_user_r
          !atomic_read(&watchdog_disable_count) )
     {
         /*
-         * Ayiee, looks like this CPU is stuck ... wait a few IRQs (5 seconds) 
-         * before doing the oops ...
+         * Ayiee, looks like this CPU is stuck.
+         * Wait 5 minutes before panic because some actions on large guests
+         * can take many seconds to complete.
          */
         this_cpu(alert_counter)++;
-        if ( this_cpu(alert_counter) == 5*nmi_hz )
+        if ( this_cpu(alert_counter) == 300*nmi_hz )
         {
             console_force_unlock();
             printk("Watchdog timer detects that CPU%d is stuck!\n",
diff -r e193375fb82a xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -55,7 +55,7 @@ static unsigned int __initdata max_cpus;
 integer_param("maxcpus", max_cpus);
 
 /* opt_watchdog: If true, run a watchdog NMI on each processor. */
-static bool_t __initdata opt_watchdog;
+static bool_t __initdata opt_watchdog = 1;
 boolean_param("watchdog", opt_watchdog);
 
 /* smep: Enable/disable Supervisor Mode Execution Protection (default on). */

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-03-08 10:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-07 16:55 NMI: Enable watchdog by default Andrew Cooper
2012-03-07 17:08 ` Jan Beulich
2012-03-07 17:11 ` Keir Fraser
2012-03-07 17:35   ` George Dunlap
2012-03-07 17:41     ` Keir Fraser
2012-03-07 18:14       ` NMI: watchdog timeout command line parameter Andrew Cooper
2012-03-08 10:06         ` Jan Beulich
2012-03-08 10:22           ` George Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).