on 03/06/2012 11:01 Andriy Gapon said the following:
> Author: avg
> Date: Sun Jun  3 08:01:12 2012
> New Revision: 236503
> URL: http://svn.freebsd.org/changeset/base/236503
> 
> Log:
>   free wdog_kern_pat calls in post-panic paths from under SW_WATCHDOG
>   
>   Those calls are useful with hardware watchdog drivers too.

Failed to mention:
  Reviewed by:  attilio

>   MFC after:  3 weeks
> 
> Modified:
>   head/sys/amd64/amd64/minidump_machdep.c
>   head/sys/i386/i386/minidump_machdep.c
>   head/sys/kern/kern_shutdown.c
>   head/sys/kern/vfs_subr.c
>   head/sys/x86/x86/dump_machdep.c
> 
> Modified: head/sys/amd64/amd64/minidump_machdep.c
> ==============================================================================
> --- head/sys/amd64/amd64/minidump_machdep.c   Sun Jun  3 07:45:42 2012        
> (r236502)
> +++ head/sys/amd64/amd64/minidump_machdep.c   Sun Jun  3 08:01:12 2012        
> (r236503)
> @@ -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 *p
>                       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)
> 
> Modified: head/sys/i386/i386/minidump_machdep.c
> ==============================================================================
> --- head/sys/i386/i386/minidump_machdep.c     Sun Jun  3 07:45:42 2012        
> (r236502)
> +++ head/sys/i386/i386/minidump_machdep.c     Sun Jun  3 08:01:12 2012        
> (r236503)
> @@ -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 *p
>                       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)
> 
> Modified: head/sys/kern/kern_shutdown.c
> ==============================================================================
> --- head/sys/kern/kern_shutdown.c     Sun Jun  3 07:45:42 2012        
> (r236502)
> +++ head/sys/kern/kern_shutdown.c     Sun Jun  3 08:01:12 2012        
> (r236503)
> @@ -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
> 
> Modified: head/sys/kern/vfs_subr.c
> ==============================================================================
> --- head/sys/kern/vfs_subr.c  Sun Jun  3 07:45:42 2012        (r236502)
> +++ head/sys/kern/vfs_subr.c  Sun Jun  3 08:01:12 2012        (r236503)
> @@ -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);
> 
> Modified: head/sys/x86/x86/dump_machdep.c
> ==============================================================================
> --- head/sys/x86/x86/dump_machdep.c   Sun Jun  3 07:45:42 2012        
> (r236502)
> +++ head/sys/x86/x86/dump_machdep.c   Sun Jun  3 08:01:12 2012        
> (r236503)
> @@ -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
>                       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;


-- 
Andriy Gapon
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to