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

cvs commit: src/sys/vfs/hammer hammer.h hammer_inode.c hammer_prune.c hammer_transaction.c hammer_vfsops.c hammer_vnops.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 23 Sep 2008 14:03:53 -0700 (PDT)

dillon      2008/09/23 14:03:53 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_inode.c hammer_prune.c 
                         hammer_transaction.c hammer_vfsops.c 
                         hammer_vnops.c 
  Log:
  Change the autoflush code to autoflush when a flush group reaches a
  certain point rather then trying to do it from the reclaim code.  This
  smooths out the flush sequences.  The default is 2000, adjustable via
  the vfs.hammer.autoflush sysctl.
  
  Move hammer_inode_waitreclaims() calls.  In particular, remove the calls
  in the VOP_CLOSE() path.  The problem with waiting for excessive reclaims to
  drop in these paths is that the inode/vnode operation in question is probably
  cached.  Thus unrelated programs, even those just opening /dev/null (if /dev
  is on a HAMMER filesystem), can wind up blocking in hmrrcm for no good reason.
  
  Instead defer the hammer_inode_waitreclaims() call to the end of the
  transaction code if a new inode had to be created during the transaction.
  Thus we tend to block on operations that did not have previously cached
  vnodes to work with instead of operations on cached vnodes.
  
  Reported-by: Hasso Tepper <hasso@estpak.ee>
  
  Revision  Changes    Path
  1.128     +4 -0      src/sys/vfs/hammer/hammer.h
  1.112     +8 -9      src/sys/vfs/hammer/hammer_inode.c
  1.19      +1 -0      src/sys/vfs/hammer/hammer_prune.c
  1.25      +5 -0      src/sys/vfs/hammer/hammer_transaction.c
  1.72      +3 -0      src/sys/vfs/hammer/hammer_vfsops.c
  1.98      +1 -9      src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.127&r2=1.128&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.111&r2=1.112&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_prune.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_transaction.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.71&r2=1.72&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.97&r2=1.98&f=u



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