Date: Tue, 25 Jun 1996 22:39:29 -0700 (PDT) From: John Dyson <dyson> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/vm vm_page.c vm_page.h vm_pageout.c vm_param.h Message-ID: <199606260539.WAA08215@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
dyson 96/06/25 22:39:29 Modified: sys/vm vm_page.c vm_page.h vm_pageout.c vm_param.h Log: 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." Revision Changes Path 1.60 +4 -1 src/sys/vm/vm_page.c 1.29 +3 -2 src/sys/vm/vm_page.h 1.79 +171 -132 src/sys/vm/vm_pageout.c 1.6 +6 -2 src/sys/vm/vm_param.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606260539.WAA08215>