svn commit: r272366 - head/sys/kern
Will Andrews
will at FreeBSD.org
Wed Oct 1 15:32:29 UTC 2014
Author: will
Date: Wed Oct 1 15:32:28 2014
New Revision: 272366
URL: https://svnweb.freebsd.org/changeset/base/272366
Log:
In the syncer, drop the sync mutex while patting the watchdog.
Some watchdog drivers (like ipmi) need to sleep while patting the watchdog.
See sys/dev/ipmi/ipmi.c:ipmi_wd_event(), which calls malloc(M_WAITOK).
Submitted by: asomers
MFC after: 1 month
Sponsored by: Spectra Logic
MFSpectraBSD: 637548 on 2012/10/04
Modified:
head/sys/kern/vfs_subr.c
Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c Wed Oct 1 15:23:23 2014 (r272365)
+++ head/sys/kern/vfs_subr.c Wed Oct 1 15:32:28 2014 (r272366)
@@ -1863,8 +1863,15 @@ sched_sync(void)
continue;
}
- if (first_printf == 0)
+ if (first_printf == 0) {
+ /*
+ * Drop the sync mutex, because some watchdog
+ * drivers need to sleep while patting
+ */
+ mtx_unlock(&sync_mtx);
wdog_kern_pat(WD_LASTVAL);
+ mtx_lock(&sync_mtx);
+ }
}
if (syncer_state == SYNCER_FINAL_DELAY && syncer_final_iter > 0)
More information about the svn-src-head
mailing list