svn commit: r225794 - head/sys/kern

Attilio Rao attilio at FreeBSD.org
Tue Sep 27 13:42:12 UTC 2011


Author: attilio
Date: Tue Sep 27 13:42:11 2011
New Revision: 225794
URL: http://svn.freebsd.org/changeset/base/225794

Log:
  Revert r225372:
  wdog_kern_pat() acquires eventhandler mutex, thus it cannot work in
  kernel context (from where kdb_trap() runs).
  
  The right way to fix this is both offering the
  cpu-stop-on-panic-and-skip-locking logic and also a context for KDB
  to officially run. We can re-enable this (or a similar) improvement
  when these 2 patches hit the tree.
  
  Sponsored by:	Sandvine Incorporated
  Discussed with:	emaste, rstone
  MFC after:	immediately

Modified:
  head/sys/kern/subr_kdb.c

Modified: head/sys/kern/subr_kdb.c
==============================================================================
--- head/sys/kern/subr_kdb.c	Tue Sep 27 13:27:17 2011	(r225793)
+++ head/sys/kern/subr_kdb.c	Tue Sep 27 13:42:11 2011	(r225794)
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
 
 #include "opt_kdb.h"
 #include "opt_stack.h"
-#include "opt_watchdog.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -42,9 +41,6 @@ __FBSDID("$FreeBSD$");
 #include <sys/smp.h>
 #include <sys/stack.h>
 #include <sys/sysctl.h>
-#ifdef SW_WATCHDOG
-#include <sys/watchdog.h>
-#endif
 
 #include <machine/kdb.h>
 #include <machine/pcb.h>
@@ -591,9 +587,6 @@ kdb_trap(int type, int code, struct trap
 	cpuset_t other_cpus;
 #endif
 	struct kdb_dbbe *be;
-#ifdef SW_WATCHDOG
-	u_int wdoglvt;
-#endif
 	register_t intr;
 	int handled;
 
@@ -607,10 +600,6 @@ kdb_trap(int type, int code, struct trap
 
 	intr = intr_disable();
 
-#ifdef SW_WATCHDOG
-	wdoglvt = wdog_kern_last_timeout();
-	wdog_kern_pat(WD_TO_NEVER);
-#endif
 #ifdef SMP
 	other_cpus = all_cpus;
 	CPU_CLR(PCPU_GET(cpuid), &other_cpus);
@@ -642,9 +631,6 @@ kdb_trap(int type, int code, struct trap
 #ifdef SMP
 	restart_cpus(stopped_cpus);
 #endif
-#ifdef SW_WATCHDOG
-	wdog_kern_pat(wdoglvt);
-#endif
 
 	intr_restore(intr);
 


More information about the svn-src-head mailing list