diff options
author | dyson <dyson@FreeBSD.org> | 1996-04-08 03:42:01 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-04-08 03:42:01 +0000 |
commit | cdc4afc0a8a13743387100d7e5e163b1dcd87323 (patch) | |
tree | d8a462907c0f43b34eff9179644762dea2eba827 /sys | |
parent | 1ea5e98511b5b0a973412fb4b818fd77b7bc888b (diff) | |
download | FreeBSD-src-cdc4afc0a8a13743387100d7e5e163b1dcd87323.zip FreeBSD-src-cdc4afc0a8a13743387100d7e5e163b1dcd87323.tar.gz |
Map lock checks not needed anymore for swapping out. We don't use
map operations for it anymore. Certain deadlocks should never happen
anymore.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/vm/vm_glue.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 257875c..f36101f 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -59,7 +59,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_glue.c,v 1.44 1996/04/03 05:23:36 dyson Exp $ + * $Id: vm_glue.c,v 1.45 1996/04/07 17:39:23 bde Exp $ */ #include "opt_ddb.h" @@ -472,6 +472,7 @@ scheduler(dummy) struct proc *pp; int ppri; + spl0(); loop: while ((cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min) { VM_WAIT; @@ -561,22 +562,11 @@ retry: (p->p_slptime <= 4)) continue; - vm_map_reference(&p->p_vmspace->vm_map); - /* - * do not swapout a process that is waiting for VM - * datastructures there is a possible deadlock. - */ - if (!lock_try_write(&p->p_vmspace->vm_map.lock)) { - vm_map_deallocate(&p->p_vmspace->vm_map); - continue; - } - vm_map_unlock(&p->p_vmspace->vm_map); /* * If the process has been asleep for awhile and had * most of its pages taken away already, swap it out. */ swapout(p); - vm_map_deallocate(&p->p_vmspace->vm_map); didswap++; goto retry; } |