summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-03-09 06:56:39 +0000
committerdyson <dyson@FreeBSD.org>1996-03-09 06:56:39 +0000
commitd1a4f3bdd462733b99a4f2e1a61fd6019a0f60d6 (patch)
tree4e4404beeabc5ba67c6faae8f4c6456e18463e2b /sys/vm
parent38b0672ce24d7be06ab2c39595af983b3cfa8828 (diff)
downloadFreeBSD-src-d1a4f3bdd462733b99a4f2e1a61fd6019a0f60d6.zip
FreeBSD-src-d1a4f3bdd462733b99a4f2e1a61fd6019a0f60d6.tar.gz
Modify a threshold for waking up the pageout daemon. Also, add a consistancy
check for making sure that held pages aren't freed (DG).
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_page.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index f6dd2c4..9035525 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)vm_page.c 7.4 (Berkeley) 5/7/91
- * $Id: vm_page.c,v 1.47 1996/01/27 00:13:33 bde Exp $
+ * $Id: vm_page.c,v 1.48 1996/03/02 02:54:24 dyson Exp $
*/
/*
@@ -535,7 +535,7 @@ vm_page_unqueue(vm_page_t m)
--(*vm_page_queues[queue].cnt);
if (queue == PQ_CACHE) {
if ((cnt.v_cache_count + cnt.v_free_count) <
- (cnt.v_free_min + cnt.v_cache_min))
+ (cnt.v_free_reserved + cnt.v_cache_min))
pagedaemon_wakeup();
}
return;
@@ -680,7 +680,7 @@ vm_page_alloc(object, pindex, page_req)
* we would be nearly out of memory.
*/
if (((cnt.v_free_count + cnt.v_cache_count) <
- (cnt.v_free_min + cnt.v_cache_min)) ||
+ (cnt.v_free_reserved + cnt.v_cache_min)) ||
(cnt.v_free_count < cnt.v_pageout_free_min))
pagedaemon_wakeup();
@@ -823,6 +823,10 @@ vm_page_free(m)
panic("vm_page_free: freeing busy page");
}
+ if (m->hold_count) {
+ panic("freeing held page, count=%d", m->hold_count);
+ }
+
vm_page_remove(m);
vm_page_unqueue(m);
OpenPOWER on IntegriCloud