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
This commit is contained in:
parent
aa11a498ff
commit
c73df808a0
@ -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,
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user