git: VM - Adjust inactive_target and pageout code.

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Nov 1 22:09:26 PST 2009


commit 51db7ca2caa1000f5b348048cf568c6372121061
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Nov 1 21:50:32 2009 -0800

    VM - Adjust inactive_target and pageout code.
    
    Continue tuning page recyclement in the VM paging queues.  Fix an issue
    where the memory used to recycle one-time-use cache data becomes too
    constricted.  For example if blogbench is run on one directory and then
    run again on another directory, too many pages cached from the first run
    were being left in the active queue and not recycled.
    
    The only way to deal with this is to allow the pageout code to pull pages
    from the active queue to the inactive queue.  This in turn resurrects the
    issue of overnight processes (whos pages are idle, after all), getting
    excessively uncached.  I think the goal needs to be to reduce excessive
    recyclement of such pages over a shorter time-frame, such as an hour.
    Adjusting vfs.vm_cycle_point higher may help (but we don't do it in this
    commit).
    
    * Change the pageout code a bit to pull a limited number of pages from
      the active queue to the inactive queue if the inactive target has not
      been met but the cache+free targets were satisfied from the inactive
      queue.  This allows the inactive_target to be increased without creating
      additional mangement overhead on the machine.
    
    * Increase the inactive_target to 1/2 of probed memory.
    
    * Document the issues involved with pulling pages out of the active queue.

Summary of changes:
 sys/vm/vm_pageout.c |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/51db7ca2caa1000f5b348048cf568c6372121061


-- 
DragonFly BSD source repository





More information about the Commits mailing list