cvs commit: src/sys/vfs/hammer hammer.h hammer_blockmap.c hammer_btree.c hammer_cursor.c hammer_disk.h hammer_flusher.c hammer_freemap.c hammer_inode.c hammer_io.c hammer_object.c hammer_ondisk.c hammer_undo.c hammer_vfsops.c hammer_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jun 16 21:03:49 PDT 2008


dillon      2008/06/16 21:02:39 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_blockmap.c hammer_btree.c 
                         hammer_cursor.c hammer_disk.h 
                         hammer_flusher.c hammer_freemap.c 
                         hammer_inode.c hammer_io.c 
                         hammer_object.c hammer_ondisk.c 
                         hammer_undo.c hammer_vfsops.c 
                         hammer_vnops.c 
  Log:
  HAMMER 56A/Many: Performance tuning - MEDIA STRUCTURES CHANGED!
  
  * MEDIA CHANGE: The blockmaps have been folded into the freemap.  Allocations
    are now made directly out of the freemap.  More work is expected here.
  
    The blockmaps are still used to sequence allocations, but no block
    number translation is required any more.  This didn't improve performance
    much but it will make it easier for future optimizations to localize
    allocations.
  
  * PERFORMANCE: Removed the holes recording code.  Another commit will
    soon take over the functionality.
  
  * PERFORMANCE: The flusher's slave threads now collect a number of inodes
    into a batch before starting their work, in an attempt to reduce
    deadlocks between slave threads from adjacent inodes.
  
  * PERFORMANCE: B-Tree positional caching now works much better, greatly
    reducing the cpu overhead when accessing the filesystem.
  
  * PERFORMANCE: Added a write-append optimization.  Do not do a
    lookup/iteration to locate records being overwritten when no such
    records should exist.  This cuts the cpu overhead of write-append
    flushes in half.
  
  * PERFORMANCE: Add a vfs.hammer.write_mode sysctl feature to test out
    two different ways of queueing write I/O's.
  
  * Added B-Tree statistics (hammer bstats 1).
  
  Revision  Changes    Path
  1.85      +18 -36    src/sys/vfs/hammer/hammer.h
  1.19      +365 -559  src/sys/vfs/hammer/hammer_blockmap.c
  1.54      +13 -0     src/sys/vfs/hammer/hammer_btree.c
  1.30      +4 -0      src/sys/vfs/hammer/hammer_cursor.c
  1.37      +34 -34    src/sys/vfs/hammer/hammer_disk.h
  1.28      +28 -7     src/sys/vfs/hammer/hammer_flusher.c
  1.17      +4 -0      src/sys/vfs/hammer/hammer_freemap.c
  1.76      +44 -13    src/sys/vfs/hammer/hammer_inode.c
  1.42      +4 -0      src/sys/vfs/hammer/hammer_io.c
  1.69      +46 -3     src/sys/vfs/hammer/hammer_object.c
  1.58      +10 -4     src/sys/vfs/hammer/hammer_ondisk.c
  1.17      +1 -3      src/sys/vfs/hammer/hammer_undo.c
  1.48      +30 -53    src/sys/vfs/hammer/hammer_vfsops.c
  1.71      +23 -2     src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.84&r2=1.85&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_blockmap.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.53&r2=1.54&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_flusher.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_freemap.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.75&r2=1.76&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.41&r2=1.42&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.68&r2=1.69&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_undo.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.47&r2=1.48&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.70&r2=1.71&f=u





More information about the Commits mailing list