1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys/vm
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
..
device_pager.c GCC cleanup. 1994-10-02 17:48:58 +00:00
device_pager.h Added $Id$ 1994-08-02 07:55:43 +00:00
kern_lock.c Added $Id$ 1994-08-02 07:55:43 +00:00
lock.h Added $Id$ 1994-08-02 07:55:43 +00:00
pmap.h pmap.h: 1994-11-14 08:19:08 +00:00
swap_pager.c Fixed bugs in accounting of swap space that resulted in the pager thinking 1994-11-13 15:36:48 +00:00
swap_pager.h Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_extern.h 1) New "vm_page_alloc_contig" routine by me. 1994-09-27 18:00:29 +00:00
vm_fault.c Fixed bug where a read-behind to a negative offset would occur if the 1994-11-13 22:48:55 +00:00
vm_glue.c Implemented swap locking via P_SWAPPING flag. It was possible for a process 1994-11-13 12:47:07 +00:00
vm_inherit.h Added $Id$ 1994-08-02 07:55:43 +00:00
vm_init.c Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_kern.c Fix up some sloppy coding practices: 1994-08-18 22:36:09 +00:00
vm_kern.h Fix up some sloppy coding practices: 1994-08-18 22:36:09 +00:00
vm_map.c Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_map.h Added $Id$ 1994-08-02 07:55:43 +00:00
vm_meter.c Eliminated a whole pile of ancient (we're taking 4.3BSD) VM system 1994-09-12 11:38:31 +00:00
vm_mmap.c Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_object.c These changes fix a couple of lingering VM problems: 1994-11-25 07:58:29 +00:00
vm_object.h Added support for starting the experimental "vmdaemon" system process. 1994-11-06 05:07:53 +00:00
vm_page.c Changed a thread_sleep into an spl protected tsleep. A deadlock can occur 1994-10-23 06:15:04 +00:00
vm_page.h pmap.h: 1994-11-14 08:19:08 +00:00
vm_pageout.c These changes fix a couple of lingering VM problems: 1994-11-25 07:58:29 +00:00
vm_pageout.h Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_pager.c Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_pager.h Cosmetics: unused vars, ()'s, #include's &c &c to silence gcc. 1994-10-09 01:52:19 +00:00
vm_param.h Added $Id$ 1994-08-02 07:55:43 +00:00
vm_prot.h Added $Id$ 1994-08-02 07:55:43 +00:00
vm_swap.c Preallocate the first swap block to work around a failure with swap starting 1994-11-22 08:47:20 +00:00
vm_unix.c Added $Id$ 1994-08-02 07:55:43 +00:00
vm_user.c Properly count object lookups and hits. 1994-10-15 10:28:47 +00:00
vm_vmio.c John Dyson's work in progress. Not currently used. 1994-10-04 07:32:08 +00:00
vm.h Added $Id$ 1994-08-02 07:55:43 +00:00
vnode_pager.c Don't try to page to a vnode that had it's filesystem unmounted. 1994-11-24 14:43:22 +00:00
vnode_pager.h Added $Id$ 1994-08-02 07:55:43 +00:00