freebsd-skq/sys/kern
David Greenman eadf9e27cd These changes fix a couple of lingering VM problems:
1.	The pageout daemon used to block under certain
	circumstances, and we needed to add new functionality
	that would cause the pageout daemon to block more often.
	Now, the pageout daemon mostly just gets rid of pages
	and kills processes when the system is out of swap.
	The swapping, rss limiting and object cache trimming
	have been folded into a new daemon called "vmdaemon".
	This new daemon does things that need to be done for
	the VM system, but can block.  For example, if the
	vmdaemon blocks for memory, the pageout daemon
	can take care of it.  If the pageout daemon had
	blocked for memory, it was difficult to handle
	the situation correctly (and in some cases, was
	impossible).

2.	The collapse problem has now been entirely fixed.
	It now appears to be impossible to accumulate unnecessary
	vm objects.  The object collapsing now occurs when ref counts
	drop to one (where it is more likely to be more simple anyway
	because less pages would be out on disk.)  The original
	fixes were incomplete in that pathological circumstances
	could still be contrived to cause uncontrolled growth
	of swap.  Also, the old code still, under steady state
	conditions, used more swap space than necessary.  When
	using the new code, users will generally notice a
	significant decrease in swap space usage, and theoretically,
	the system should be leaving fewer unused pages around
	competing for memory.

Submitted by:	John Dyson
1994-11-25 07:58:29 +00:00
..
imgact_aout.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
imgact_gzip.c Make the diagnostics a little more useful. 1994-10-22 11:55:16 +00:00
imgact_shell.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
inflate.c I belive imgact_gzip is finally reentrant. It is also a whole lot more 1994-10-22 11:40:38 +00:00
init_main.c These changes fix a couple of lingering VM problems: 1994-11-25 07:58:29 +00:00
init_sysent.c pick up the changes from a makesyscall.sh run. The multiple lkmnosys 1994-11-10 23:59:47 +00:00
kern_acct.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_clock.c kern_clock.c: define dk_names[][]. 1994-10-16 03:52:14 +00:00
kern_descrip.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_devconf.c Don't do suser() check; it's already done in __sysctl(). 1994-10-23 23:01:03 +00:00
kern_exec.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_exit.c Fix the panic message if init dies to show the exit status. 1994-10-27 05:21:39 +00:00
kern_fork.c Cosmetics. related to getting prototypes into view. 1994-10-10 01:00:49 +00:00
kern_ktrace.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_lkm.c Don't allow the same MISC module loading more than once.. 1994-10-12 20:28:32 +00:00
kern_lockf.c Changed some variable names in lf_addblock to make the code both 1994-10-25 11:27:51 +00:00
kern_malloc.c Got rid of map.h. It's a leftover from the rmap code, and we use rlists. 1994-10-09 07:35:18 +00:00
kern_ntptime.c Add vm/vm.h for complete sysctl type. 1994-09-19 17:39:21 +00:00
kern_physio.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
kern_proc.c Cosmetics. related to getting prototypes into view. 1994-10-10 01:00:49 +00:00
kern_prot.c Added ifdef COMPAT_IBCS2 around setre[ug]id. 1994-10-13 20:59:49 +00:00
kern_resource.c Cosmetics. related to getting prototypes into view. 1994-10-10 01:00:49 +00:00
kern_sig.c Security nitpicking: don't make *.core world readable 1994-11-06 11:13:02 +00:00
kern_subr.c Added $Id$ 1994-08-02 07:55:43 +00:00
kern_synch.c Removed references to bclnlist which we don't use/support/need. 1994-10-18 06:55:57 +00:00
kern_sysctl.c Move declarations of public functions to <sys/sysctl.h>. 1994-11-14 13:58:30 +00:00
kern_tc.c kern_clock.c: define dk_names[][]. 1994-10-16 03:52:14 +00:00
kern_time.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
kern_timeout.c kern_clock.c: define dk_names[][]. 1994-10-16 03:52:14 +00:00
kern_xxx.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
Make.tags.inc Added $Id$ 1994-08-02 07:55:43 +00:00
Makefile Added namespace information for future pollution-control measures. 1994-09-13 00:48:26 +00:00
makesyscalls.sh Put a small hack into a large hack named makeyscall.sh. Generate only 1994-11-06 21:57:16 +00:00
md5c.c Added "const" to the arguments here and there. 1994-11-07 20:48:35 +00:00
subr_autoconf.c Added $Id$ 1994-08-02 07:55:43 +00:00
subr_clist.c Don't attempt to free null cblocks. There may be less to free than 1994-10-30 19:43:49 +00:00
subr_disklabel.c Julian Elischer's disklabel fixes. 1994-10-27 20:45:13 +00:00
subr_log.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
subr_param.c Added SYSV ipcs. 1994-09-13 14:47:38 +00:00
subr_prf.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
subr_prof.c Fix compiler warnings. 1994-09-21 21:58:39 +00:00
subr_rlist.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
subr_rmap.c Added $Id$ 1994-08-02 07:55:43 +00:00
subr_trap.c Fix selector arg to match the (missing) prototype for sdtossd(). 1994-10-30 20:25:21 +00:00
subr_xxx.c Added $Id$ 1994-08-02 07:55:43 +00:00
sys_generic.c Damn, check in the wrong version, fixed. 1994-10-13 21:41:36 +00:00
sys_process.c While in the real world, I had a bad case of being swapped out for a lot of 1994-09-25 19:34:02 +00:00
sys_socket.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
syscalls.c Updated to add errno conversion table. (intialize to zero). 1994-10-09 21:58:47 +00:00
syscalls.master "idle priority" support. Based on code from Henrik Vestergaard Draboel, 1994-10-02 04:48:21 +00:00
sysv_ipc.c Added SYSV ipcs. 1994-09-13 14:47:38 +00:00
sysv_msg.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
sysv_sem.c Use tsleep() rather than sleep so that 'ps' is more informative about 1994-10-06 21:07:04 +00:00
sysv_shm.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
tty_compat.c Better IXANY/IXOFF processing into setflags. 1994-10-11 20:29:42 +00:00
tty_conf.c Allow for loadable line disciplines (eventually). 1994-10-05 21:22:24 +00:00
tty_cons.c Added hooks for an easy drop-in of the pcvt concole driver. 1994-10-31 17:20:15 +00:00
tty_pty.c write ptys use _the_same_ tsleep/wakeup address as read ptys due to 1994-10-29 23:59:48 +00:00
tty_subr.c Don't attempt to free null cblocks. There may be less to free than 1994-10-30 19:43:49 +00:00
tty_tb.c Added $Id$ 1994-08-02 07:55:43 +00:00
tty_tty.c Added $Id$ 1994-08-02 07:55:43 +00:00
tty.c Return immediately from ttwrite() if the ttysleep()s that wait for 1994-11-01 22:23:29 +00:00
uipc_domain.c Added $Id$ 1994-08-02 07:55:43 +00:00
uipc_mbuf.c Got rid of map.h. It's a leftover from the rmap code, and we use rlists. 1994-10-09 07:35:18 +00:00
uipc_proto.c Added $Id$ 1994-08-02 07:55:43 +00:00
uipc_sockbuf.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_socket2.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_socket.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_syscalls.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
uipc_usrreq.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
vfs_bio.c Only VM_WAIT if curproc != pageproc. A deadlock can occur otherwise. 1994-10-23 20:52:11 +00:00
vfs_cache.c All of this is cosmetic. prototypes, #includes, printfs and so on. Makes 1994-10-02 17:35:40 +00:00
vfs_cluster.c Cosmetics: added ()'s and fixed prinf-formats to make gcc silent. 1994-10-08 22:33:43 +00:00
vfs_conf.c Make a kernel sans FFS possible. 1994-11-12 01:47:43 +00:00
vfs_export.c Use tsleep() rather than sleep so that 'ps' is more informative about 1994-10-06 21:07:04 +00:00
vfs_extattr.c From tim@cs.city.ac.uk (Tim Wilkinson): 1994-11-04 14:41:46 +00:00
vfs_init.c Actually implement the functionality documented in sysctl.h for type CTL_FS. 1994-10-20 00:48:28 +00:00
vfs_lookup.c Use tsleep() rather than sleep so that 'ps' is more informative about 1994-10-06 21:07:04 +00:00
vfs_mount.c Make a kernel sans FFS possible. 1994-11-12 01:47:43 +00:00
vfs_subr.c Use tsleep() rather than sleep so that 'ps' is more informative about 1994-10-06 21:07:04 +00:00
vfs_syscalls.c From tim@cs.city.ac.uk (Tim Wilkinson): 1994-11-04 14:41:46 +00:00
vfs_vnops.c Stuff object into v_vmdata rather than pager. Not important which at 1994-10-05 09:48:45 +00:00
vnode_if.pl Added $Id$ 1994-08-02 07:55:43 +00:00
vnode_if.sh Added $Id$ 1994-08-02 07:55:43 +00:00
vnode_if.src Make NFS ask the filesystems for directory cookies instead of making them 1994-09-28 16:45:22 +00:00