From f51ea914df90df0fcf2b355661d7c44837f8a331 Mon Sep 17 00:00:00 2001 From: dillon Date: Sat, 19 Jan 2002 02:14:45 +0000 Subject: [PATCH] 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 --- sys/kern/vfs_subr.c | 3 +++ sys/kern/vfs_vnops.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 41a3530a6052..277430da4b6d 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, diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 1bbed38f1a83..403b06717227 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -701,8 +701,11 @@ debug_vn_lock(vp, flags, td, filename, line) "vn_lock", 0); error = ENOENT; } else { +#if 0 + /* this can now occur in normal operation */ if (vp->v_vxproc != NULL) log(LOG_INFO, "VXLOCK interlock avoided in vn_lock\n"); +#endif #ifdef DEBUG_LOCKS vp->filename = filename; vp->line = line;