diff options
author | dyson <dyson@FreeBSD.org> | 1996-06-08 06:48:35 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-06-08 06:48:35 +0000 |
commit | dca5ec165f1eaf7fc7cb1b5e3c0674ee4ccbadbf (patch) | |
tree | c06be8b58bb694a3550d8b7913a7706f218974f0 /sys/vm/vm_fault.c | |
parent | 4935a152211b73994e774e1f61bfc933505f92c6 (diff) | |
download | FreeBSD-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.c | 9 |
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) && |