git: kernel - Add swap block allocation iterator
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Sat Mar  2 17:17:03 PST 2013
    
    
  
commit 7fa8d3ba49288bc90bd4d3f654520d236f8a999b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Mar 2 17:03:17 2013 -0800
    kernel - Add swap block allocation iterator
    
    * Instead of allocating the first available block the swap allocator
      now has an iterator and attempts to allocate a block near the iterator.
      On failure the iterator resets to the beginning of swap (0) and it
      tries again.
    
    * This theoretically should result in more linearized allocations of
      swap space, allowing the pageout daemon to flush memory to a
      hard-drive-based swap at much higher bandwidth.
    
    * Greatly improves poudriere when using stressful memory parameters,
      at least in the first pass.
    
    * There are still some obvious linearity issues that can occur once
      the iterator recycles back to 0 which need to be addressed.  However,
      this change is certainly not going to be worse and should
      prevent degenerative swap situations where performance winds up
      being permanently bad due to fragmented data laid down earlier that
      is never paged back into memory.
Summary of changes:
 sys/kern/subr_blist.c | 53 +++++++++++++++++++++++++++++++++++++++------------
 sys/sys/blist.h       |  1 +
 sys/vm/swap_pager.c   | 11 ++++++++++-
 3 files changed, 52 insertions(+), 13 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7fa8d3ba49288bc90bd4d3f654520d236f8a999b
-- 
DragonFly BSD source repository
    
    
More information about the Commits
mailing list