freebsd-dev/sys/vm
John Dyson 38efa82b23 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."
1996-06-26 05:39:27 +00:00
..
default_pager.c Various bugfixes/cleanups from me and others: 1996-06-16 20:37:31 +00:00
default_pager.h Various bugfixes/cleanups from me and others: 1996-06-16 20:37:31 +00:00
device_pager.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
device_pager.h
kern_lock.c
lock.h
pmap.h Several bugfixes/improvements: 1996-06-17 03:35:40 +00:00
swap_pager.c Mostly superficial code improvements, add a diagnostic. The 1996-06-10 04:58:48 +00:00
swap_pager.h Initial support for MADV_FREE, support for pages that we don't care 1996-05-23 00:45:58 +00:00
vm_extern.h
vm_fault.c Various bugfixes/cleanups from me and others: 1996-06-16 20:37:31 +00:00
vm_glue.c This commit is dual-purpose, to fix more of the pageout daemon 1996-05-31 00:38:04 +00:00
vm_inherit.h
vm_init.c
vm_kern.c Eliminate a vm_page_free, busy panic, in kern_malloc. 1996-05-23 02:24:55 +00:00
vm_kern.h File mistakenly left out of the previous mega-commit. This provides 1996-05-18 03:52:13 +00:00
vm_map.c Various bugfixes/cleanups from me and others: 1996-06-16 20:37:31 +00:00
vm_map.h Initial support for mincore and madvise. Both are almost fully 1996-05-19 07:36:50 +00:00
vm_meter.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
vm_mmap.c This commit is dual-purpose, to fix more of the pageout daemon 1996-05-31 00:38:04 +00:00
vm_object.c Various bugfixes/cleanups from me and others: 1996-06-16 20:37:31 +00:00
vm_object.h Initial support for mincore and madvise. Both are almost fully 1996-05-19 07:36:50 +00:00
vm_page.c This commit does a couple of things: 1996-06-26 05:39:27 +00:00
vm_page.h This commit does a couple of things: 1996-06-26 05:39:27 +00:00
vm_pageout.c This commit does a couple of things: 1996-06-26 05:39:27 +00:00
vm_pageout.h
vm_pager.c This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
vm_pager.h
vm_param.h This commit does a couple of things: 1996-06-26 05:39:27 +00:00
vm_prot.h
vm_swap.c
vm_unix.c Fix some serious problems with limits checking in the sbrk(2)/brk(2) 1996-06-25 00:36:46 +00:00
vm.h
vnode_pager.c Another sweep over the pmap/vm macros, this time with more focus on 1996-05-03 21:01:54 +00:00
vnode_pager.h