summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-06-08 06:48:35 +0000
committerdyson <dyson@FreeBSD.org>1996-06-08 06:48:35 +0000
commitdca5ec165f1eaf7fc7cb1b5e3c0674ee4ccbadbf (patch)
treec06be8b58bb694a3550d8b7913a7706f218974f0 /sys/vm/vm_fault.c
parent4935a152211b73994e774e1f61bfc933505f92c6 (diff)
downloadFreeBSD-src-dca5ec165f1eaf7fc7cb1b5e3c0674ee4ccbadbf.zip
FreeBSD-src-dca5ec165f1eaf7fc7cb1b5e3c0674ee4ccbadbf.tar.gz
Adjust the threshold for blocking on movement of pages from the cache
queue in vm_fault. Move the PG_BUSY in vm_fault to the correct place. Remove redundant/unnecessary code in pmap.c. Properly block on rundown of page table pages, if they are busy. I think that the VM system is in pretty good shape now, and the following individuals (among others, in no particular order) have helped with this recent bunch of bugs, thanks! If I left anyone out, I apologize! Stephen McKay, Stephen Hocking, Eric J. Chet, Dan O'Brien, James Raynard, Marc Fournier.
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index ee4d920..d76fcc5 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -66,7 +66,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_fault.c,v 1.47 1996/05/31 00:37:56 dyson Exp $
+ * $Id: vm_fault.c,v 1.48 1996/06/01 20:50:57 dyson Exp $
*/
/*
@@ -283,16 +283,15 @@ RetryFault:;
/*
* Mark page busy for other processes, and the pagedaemon.
*/
- m->flags |= PG_BUSY;
if ((m->queue == PQ_CACHE) &&
- (cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_reserved) {
+ (cnt.v_free_count + cnt.v_cache_count) < cnt.v_free_min) {
UNLOCK_AND_DEALLOCATE;
VM_WAIT;
- PAGE_WAKEUP(m);
goto RetryFault;
}
- vm_page_unqueue(m);
+ m->flags |= PG_BUSY;
+ vm_page_unqueue_nowakeup(m);
if (m->valid &&
((m->valid & VM_PAGE_BITS_ALL) != VM_PAGE_BITS_ALL) &&
OpenPOWER on IntegriCloud