DragonFly-2.1.1.182.g82010 master sys/vfs/hammer hammer.h hammer_btree.c hammer_cursor.c hammer_flusher.c hammer_inode.c hammer_ondisk.c hammer_transaction.c hammer_vfsops.c
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Sun Dec 28 15:37:20 PST 2008
    
    
  
commit 82010f9f8ef29e52bfa8e036450ccc75203803b6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Dec 28 15:29:48 2008 -0800
    HAMMER performance and kernel memory issues.
    
    * The flusher could stall-out due to deadlocks under certain heavy load
      situations (blogbench -i1000 -o), causing the number of hammer inodes
      to increase slowly until the kernel runs out of memory.
    
      Fix this by detecting the condition and stalling the threads
      causing the deadlocks instead for a short while.  Any user thread
      which blocked performing B-Tree node I/O is a candidate.
    
    * Improve the stability of the inode reclaim heuristic which slows
      down the creation of new inodes when too many disconnected hammer
      inodes are present.
    
    * Remove vfs.hammer.limit_iqueued - this sysctl is no longer used.
    
    Reported-by: YONETANI Tomokazu <qhwt+dfly at les.ath.cx>
Summary of changes:
 sys/vfs/hammer/hammer.h             |   17 ++++--
 sys/vfs/hammer/hammer_btree.c       |   12 ++--
 sys/vfs/hammer/hammer_cursor.c      |    8 ++--
 sys/vfs/hammer/hammer_flusher.c     |    9 +++
 sys/vfs/hammer/hammer_inode.c       |   96 ++++++++++++++++++++++++++---------
 sys/vfs/hammer/hammer_ondisk.c      |   11 +++--
 sys/vfs/hammer/hammer_transaction.c |    9 +++-
 sys/vfs/hammer/hammer_vfsops.c      |    5 --
 8 files changed, 116 insertions(+), 51 deletions(-)
http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commitdiff;h=82010f9f8ef29e52bfa8e036450ccc75203803b6
-- 
DragonFly BSD source repository
    
    
More information about the Commits
mailing list