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