diff options
author | jhb <jhb@FreeBSD.org> | 2001-03-28 11:52:56 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-03-28 11:52:56 +0000 |
commit | 79cf991a6bd845fad54bd6a15892cb5aaf74b223 (patch) | |
tree | 1cee6a483c3c79f058207ee2c66c63c38f2ad20a /sys/vm/vm_object.c | |
parent | 673f3af133009642ca79479ec4db4a25a4ea86d6 (diff) | |
download | FreeBSD-src-79cf991a6bd845fad54bd6a15892cb5aaf74b223.zip FreeBSD-src-79cf991a6bd845fad54bd6a15892cb5aaf74b223.tar.gz |
Convert the allproc and proctree locks from lockmgr locks to sx locks.
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r-- | sys/vm/vm_object.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index fdfb5d8..780b2c6 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -76,6 +76,7 @@ #include <sys/mman.h> #include <sys/mount.h> #include <sys/mutex.h> +#include <sys/sx.h> #include <vm/vm.h> #include <vm/vm_param.h> @@ -1614,16 +1615,17 @@ vm_object_in_map( object) vm_object_t object; { struct proc *p; - ALLPROC_LOCK(AP_SHARED); + + sx_slock(&allproc_lock); LIST_FOREACH(p, &allproc, p_list) { if( !p->p_vmspace /* || (p->p_flag & (P_SYSTEM|P_WEXIT)) */) continue; if( _vm_object_in_map(&p->p_vmspace->vm_map, object, 0)) { - ALLPROC_LOCK(AP_RELEASE); + sx_sunlock(&allproc_lock); return 1; } } - ALLPROC_LOCK(AP_RELEASE); + sx_sunlock(&allproc_lock); if( _vm_object_in_map( kernel_map, object, 0)) return 1; if( _vm_object_in_map( kmem_map, object, 0)) |