summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.h
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-06-26 05:39:27 +0000
committerdyson <dyson@FreeBSD.org>1996-06-26 05:39:27 +0000
commit9f0819bc54b2152ee968fc72f9a450d2b4ff862e (patch)
tree48f770f322cba924e42b174cb8cb3f34755ab4ff /sys/vm/vm_page.h
parent9ca4dee9f50d3922b026ecabfc5169f84c89ae72 (diff)
downloadFreeBSD-src-9f0819bc54b2152ee968fc72f9a450d2b4ff862e.zip
FreeBSD-src-9f0819bc54b2152ee968fc72f9a450d2b4ff862e.tar.gz
This commit does a couple of things:
Re-enables the RSS limiting, and the routine is now tail-recursive, making it much more safe (eliminates the possiblity of kernel stack overflow.) Also, the RSS limiting is a little more intelligent about finding the likely objects that are pushing the process over the limit. Added some sysctls that help with VM system tuning. New sysctl features: 1) Enable/disable lru pageout algorithm. vm.pageout_algorithm = 0, default algorithm that works well, especially using X windows and heavy memory loading. Can have adverse effects, sometimes slowing down program loading. vm.pageout_algorithm = 1, close to true LRU. Works much better than clock, etc. Does not work as well as the default algorithm in general. Certain memory "malloc" type benchmarks work a little better with this setting. Please give me feedback on the performance results associated with these. 2) Enable/disable swapping. vm.swapping_enabled = 1, default. vm.swapping_enabled = 0, useful for cases where swapping degrades performance. The config option "NO_SWAPPING" is still operative, and takes precedence over the sysctl. If "NO_SWAPPING" is specified, the sysctl still exists, but "vm.swapping_enabled" is hard-wired to "0". Each of these can be changed "on the fly."
Diffstat (limited to 'sys/vm/vm_page.h')
-rw-r--r--sys/vm/vm_page.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index b274316..c246deb 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_page.h,v 1.27 1996/06/05 03:31:49 dyson Exp $
+ * $Id: vm_page.h,v 1.28 1996/06/08 06:48:35 dyson Exp $
*/
/*
@@ -147,7 +147,8 @@ struct vm_page {
#define ACT_DECLINE 1
#define ACT_ADVANCE 3
-#define ACT_MAX 100
+#define ACT_INIT 5
+#define ACT_MAX 32
#define PFCLUSTER_BEHIND 3
#define PFCLUSTER_AHEAD 3
OpenPOWER on IntegriCloud