DragonFly commits List (threaded) for 2008-12
DragonFly BSD
DragonFly commits List (threaded) for 2008-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 28 Dec 2008 15:35:43 -0800 (PST)

commit 82010f9f8ef29e52bfa8e036450ccc75203803b6
Author: Matthew Dillon <dillon@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@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]