freebsd-nq/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 Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
kern_lock.c Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
lock.h Fix pollution of application namespace by declarations of kernel 1995-10-05 01:11:48 +00:00
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 KGDB is dead. It may come back one day if somebody does it. 1996-05-02 09:34:51 +00:00
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 NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct 1995-07-13 08:48:48 +00:00
vm_init.c Changes to support 1Tb filesizes. Pages are now named by an 1995-12-11 04:58:34 +00:00
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 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
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 Changes to support 1Tb filesizes. Pages are now named by an 1995-12-11 04:58:34 +00:00
vm_param.h This commit does a couple of things: 1996-06-26 05:39:27 +00:00
vm_prot.h Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
vm_swap.c Undid last revision. It duplicated part of second last revision. 1996-03-28 15:40:17 +00:00
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 Moved the declaration of boolean_t from <vm/vm_param.h> to 1995-12-10 02:34:29 +00:00
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 Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00