DragonFly-2.1.1.73.gc84c2 master sys/vm swap_pager.c swap_pager.h vm_pageout.c vm_swap.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Dec 17 17:08:40 PST 2008
commit c84c24daf590138844d66151616b12dde7617c63
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Dec 17 17:02:38 2008 -0800
Fix bugs in dealing with low-memory situations when the system has run out
of swap or has no swap.
* Fix an error where the system started killing processes before it needed
to.
* Continue propagating pages from the active queue to the inactive queue
when the system has run out of swap or has no swap, even though the
inactive queue has become bloated. This occurs because the inactive
queue may be unable to drain due to an excess of dirty pages which
cannot be swapped out.
* Use the active queue to detect excessive stress which combined with
an out-of-swap or no-swap situation means the system has run out of
memory. THEN start killing processes.
* This also allows the system to recycle nearly all the clean pages
available when it has no swap space left, to try to keep things going,
leaving only dirty pages in the VM page queues.
Summary of changes:
sys/vm/swap_pager.c | 10 ++++++-
sys/vm/swap_pager.h | 1 +
sys/vm/vm_pageout.c | 77 ++++++++++++++++++++++++++++++++++++++------------
sys/vm/vm_swap.c | 1 +
4 files changed, 69 insertions(+), 20 deletions(-)
http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commitdiff;h=c84c24daf590138844d66151616b12dde7617c63
--
DragonFly BSD source repository
More information about the Commits
mailing list