summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2002-01-19 02:14:45 +0000
committerdillon <dillon@FreeBSD.org>2002-01-19 02:14:45 +0000
commitf51ea914df90df0fcf2b355661d7c44837f8a331 (patch)
tree82a9e054f3158100f2934a28d8200d1812f900b5 /sys/kern/vfs_subr.c
parent20073b03222ce9d43b2d432e035bd2e049f47ea6 (diff)
downloadFreeBSD-src-f51ea914df90df0fcf2b355661d7c44837f8a331.zip
FreeBSD-src-f51ea914df90df0fcf2b355661d7c44837f8a331.tar.gz
Remove 'VXLOCK: interlock avoided' warnings. This can now occur in normal
operation. The vgonel() code has always called vclean() but until we started proactively freeing vnodes it would never actually be called with a dirty vnode, so this situation did not occur prior to the vnlru() code. Now that we proactively free vnodes when kern.maxvnodes is hit, however, vclean() winds up with work to do and improperly generates the warnings. Reviewed by: peter Approved by: re (for MFC) MFC after: 1 day
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 41a3530..277430d 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1648,7 +1648,10 @@ vget(vp, flags, td)
mtx_lock(&vp->v_interlock);
if (vp->v_flag & VXLOCK) {
if (vp->v_vxproc == curthread) {
+#if 0
+ /* this can now occur in normal operation */
log(LOG_INFO, "VXLOCK interlock avoided\n");
+#endif
} else {
vp->v_flag |= VXWANT;
msleep((caddr_t)vp, &vp->v_interlock, PINOD | PDROP,
OpenPOWER on IntegriCloud