summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-04-08 03:42:01 +0000
committerdyson <dyson@FreeBSD.org>1996-04-08 03:42:01 +0000
commitcdc4afc0a8a13743387100d7e5e163b1dcd87323 (patch)
treed8a462907c0f43b34eff9179644762dea2eba827 /sys/vm
parent1ea5e98511b5b0a973412fb4b818fd77b7bc888b (diff)
downloadFreeBSD-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/vm')
-rw-r--r--sys/vm/vm_glue.c14
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;
}
OpenPOWER on IntegriCloud