diff options
author | avg <avg@FreeBSD.org> | 2012-06-03 08:01:12 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2012-06-03 08:01:12 +0000 |
commit | 85a02186bcd95689dfa239312a24eb374da5a373 (patch) | |
tree | 9ef08c0095708ccf29a153abf1a19de0f3f8bc2a | |
parent | 1ecf065a6cb45ef14846d6ebdf44ce35059832a5 (diff) | |
download | FreeBSD-src-85a02186bcd95689dfa239312a24eb374da5a373.zip FreeBSD-src-85a02186bcd95689dfa239312a24eb374da5a373.tar.gz |
free wdog_kern_pat calls in post-panic paths from under SW_WATCHDOG
Those calls are useful with hardware watchdog drivers too.
MFC after: 3 weeks
-rw-r--r-- | sys/amd64/amd64/minidump_machdep.c | 6 | ||||
-rw-r--r-- | sys/i386/i386/minidump_machdep.c | 6 | ||||
-rw-r--r-- | sys/kern/kern_shutdown.c | 7 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 6 | ||||
-rw-r--r-- | sys/x86/x86/dump_machdep.c | 6 |
5 files changed, 9 insertions, 22 deletions
diff --git a/sys/amd64/amd64/minidump_machdep.c b/sys/amd64/amd64/minidump_machdep.c index 057d81d..9be642e 100644 --- a/sys/amd64/amd64/minidump_machdep.c +++ b/sys/amd64/amd64/minidump_machdep.c @@ -37,9 +37,7 @@ __FBSDID("$FreeBSD$"); #include <sys/kernel.h> #include <sys/kerneldump.h> #include <sys/msgbuf.h> -#ifdef SW_WATCHDOG #include <sys/watchdog.h> -#endif #include <vm/vm.h> #include <vm/vm_page.h> #include <vm/pmap.h> @@ -177,9 +175,9 @@ blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz) report_progress(progress, dumpsize); counter &= (1<<24) - 1; } -#ifdef SW_WATCHDOG + wdog_kern_pat(WD_LASTVAL); -#endif + if (ptr) { error = dump_write(di, ptr, 0, dumplo, len); if (error) diff --git a/sys/i386/i386/minidump_machdep.c b/sys/i386/i386/minidump_machdep.c index d57de3a..e0cd1ff 100644 --- a/sys/i386/i386/minidump_machdep.c +++ b/sys/i386/i386/minidump_machdep.c @@ -36,9 +36,7 @@ __FBSDID("$FreeBSD$"); #include <sys/kernel.h> #include <sys/kerneldump.h> #include <sys/msgbuf.h> -#ifdef SW_WATCHDOG #include <sys/watchdog.h> -#endif #include <vm/vm.h> #include <vm/pmap.h> #include <machine/atomic.h> @@ -143,9 +141,9 @@ blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz) printf(" %lld", PG2MB(progress >> PAGE_SHIFT)); counter &= (1<<24) - 1; } -#ifdef SW_WATCHDOG + wdog_kern_pat(WD_LASTVAL); -#endif + if (ptr) { error = dump_write(di, ptr, 0, dumplo, len); if (error) diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index 42923ff..d676136 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -66,9 +66,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/sysproto.h> #include <sys/vnode.h> -#ifdef SW_WATCHDOG #include <sys/watchdog.h> -#endif #include <ddb/ddb.h> @@ -334,9 +332,7 @@ kern_reboot(int howto) waittime = 0; -#ifdef SW_WATCHDOG wdog_kern_pat(WD_LASTVAL); -#endif sys_sync(curthread, NULL); /* @@ -362,9 +358,8 @@ kern_reboot(int howto) if (nbusy < pbusy) iter = 0; pbusy = nbusy; -#ifdef SW_WATCHDOG + wdog_kern_pat(WD_LASTVAL); -#endif sys_sync(curthread, NULL); #ifdef PREEMPTION diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 8d999c3..1d6136a 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -73,9 +73,7 @@ __FBSDID("$FreeBSD$"); #include <sys/syslog.h> #include <sys/vmmeter.h> #include <sys/vnode.h> -#ifdef SW_WATCHDOG #include <sys/watchdog.h> -#endif #include <machine/stdarg.h> @@ -1869,10 +1867,10 @@ sched_sync(void) LIST_INSERT_HEAD(next, bo, bo_synclist); continue; } -#ifdef SW_WATCHDOG + if (first_printf == 0) wdog_kern_pat(WD_LASTVAL); -#endif + } if (!LIST_EMPTY(gslp)) { mtx_unlock(&sync_mtx); diff --git a/sys/x86/x86/dump_machdep.c b/sys/x86/x86/dump_machdep.c index 4e6546d..5c874f4 100644 --- a/sys/x86/x86/dump_machdep.c +++ b/sys/x86/x86/dump_machdep.c @@ -36,9 +36,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/kernel.h> #include <sys/kerneldump.h> -#ifdef SW_WATCHDOG #include <sys/watchdog.h> -#endif #include <vm/vm.h> #include <vm/pmap.h> #include <machine/elf.h> @@ -198,9 +196,9 @@ cb_dumpdata(struct md_pa *mdp, int seqnr, void *arg) a = pa + i * PAGE_SIZE; va = pmap_kenter_temporary(trunc_page(a), i); } -#ifdef SW_WATCHDOG + wdog_kern_pat(WD_LASTVAL); -#endif + error = dump_write(di, va, 0, dumplo, sz); if (error) break; |