summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-10-25 02:41:56 +0000
committerdyson <dyson@FreeBSD.org>1997-10-25 02:41:56 +0000
commit56bd787cbb65d4293026d3553f6d008464ccee41 (patch)
treef338003ba88f50819c697ba79008598c40791141 /sys/vm
parentbcae6767938fad8fd34bcdfc1e700a553d7b7636 (diff)
downloadFreeBSD-src-56bd787cbb65d4293026d3553f6d008464ccee41.zip
FreeBSD-src-56bd787cbb65d4293026d3553f6d008464ccee41.tar.gz
Support garbage collecting the pmap pv entries. The management doesn't
happen until the system would have nearly failed anyway, so no signficant overhead is added. This helps large systems with lots of processes.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pageout.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 28f849e..935b6a9 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -65,7 +65,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_pageout.c,v 1.98 1997/09/01 03:17:26 bde Exp $
+ * $Id: vm_pageout.c,v 1.99 1997/10/06 02:48:16 dyson Exp $
*/
/*
@@ -184,6 +184,7 @@ static freeer_fcn_t vm_pageout_object_deactivate_pages;
static void vm_req_vmdaemon __P((void));
#endif
static void vm_pageout_page_stats(void);
+void pmap_collect(void);
/*
* vm_pageout_clean:
@@ -591,6 +592,11 @@ vm_pageout_scan()
int s;
/*
+ * Do whatever cleanup that the pmap code can.
+ */
+ pmap_collect();
+
+ /*
* Start scanning the inactive queue for pages we can free. We keep
* scanning until we have enough free pages or we have scanned through
* the entire queue. If we encounter dirty pages, we start cleaning
OpenPOWER on IntegriCloud