diff options
author | eivind <eivind@FreeBSD.org> | 1999-12-11 16:13:02 +0000 |
---|---|---|
committer | eivind <eivind@FreeBSD.org> | 1999-12-11 16:13:02 +0000 |
commit | 287836faea1ff2f002f4c9ea357e87cb7f2b4cd6 (patch) | |
tree | 9524fb381c1cbe8aed4ee0af7b1a693057985617 /sys/vm | |
parent | ff090abf5121f6bf2199248b70a4896d25f49550 (diff) | |
download | FreeBSD-src-287836faea1ff2f002f4c9ea357e87cb7f2b4cd6.zip FreeBSD-src-287836faea1ff2f002f4c9ea357e87cb7f2b4cd6.tar.gz |
Lock reporting and assertion changes.
* lockstatus() and VOP_ISLOCKED() gets a new process argument and a new
return value: LK_EXCLOTHER, when the lock is held exclusively by another
process.
* The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them
* Extend the vnode_if.src format to allow more exact specification than
locked/unlocked.
This commit should not do any semantic changes unless you are using
DEBUG_VFS_LOCKS.
Discussed with: grog, mch, peter, phk
Reviewed by: peter
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_pageout.c | 2 | ||||
-rw-r--r-- | sys/vm/vm_zone.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index 8f930af..1adb7e4 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -852,7 +852,7 @@ rescan0: if (object->type == OBJT_VNODE) { vp = object->handle; - if (VOP_ISLOCKED(vp) || + if (VOP_ISLOCKED(vp, NULL) || vp->v_data == NULL || vget(vp, LK_EXCLUSIVE|LK_NOOBJ, curproc)) { if ((m->queue == PQ_INACTIVE) && diff --git a/sys/vm/vm_zone.c b/sys/vm/vm_zone.c index e111b83..b53cfa0 100644 --- a/sys/vm/vm_zone.c +++ b/sys/vm/vm_zone.c @@ -324,7 +324,7 @@ _zget(vm_zone_t z) * We can wait, so just do normal map allocation in the appropriate * map. */ - if (lockstatus(&kernel_map->lock)) { + if (lockstatus(&kernel_map->lock, NULL)) { int s; s = splvm(); #ifdef SMP |