git: kernel - SWAP CACHE part 11/many - Write improvements, fix backing store free

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Feb 5 16:27:00 PST 2010


commit 5ac041170e70cbebc44f0b51f3a236298b9d353c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Feb 5 16:21:10 2010 -0800

    kernel - SWAP CACHE part 11/many - Write improvements, fix backing store free
    
    * Improve write staging by not counting VM pages which already have a
      swap assignment when doing the limited scan of the INACTIVE VM page
      queue.
    
      As the swapcache starts to perform more and more disk I/O goes to it,
      radically increasing the data rate and also radically increasing the
      rate at which pages are shuffled between VM page queues.  At some
      point enough data is coming from the swapcache that vm.swapcache.maxlaunder
      is unable to keep up even when sufficient burst bandwidth is available.
    
      This led to an asymptotic caching curve.  After the fix the caching
      curve is linear (for data sets which fit in the swapcache).
    
    * The swapcache associated with meta-data (VCHR vnodes) was not being
      destroyed on umount.  Adjust a conditional such that it is properly
      destroyed.  Otherwise stale data might be retained across e.g. a
      media change.

Summary of changes:
 sys/vm/vm_object.c    |    6 +++---
 sys/vm/vm_swapcache.c |    9 +++++++--
 2 files changed, 10 insertions(+), 5 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5ac041170e70cbebc44f0b51f3a236298b9d353c


-- 
DragonFly BSD source repository





More information about the Commits mailing list