cvs commit: src/sys/vfs/hammer hammer.h hammer_cursor.c hammer_flusher.c hammer_inode.c hammer_io.c hammer_object.c hammer_ondisk.c hammer_recover.c hammer_vfsops.c hammer_vnops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jun 11 15:34:00 PDT 2008


dillon      2008/06/11 15:33:21 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_cursor.c hammer_flusher.c 
                         hammer_inode.c hammer_io.c 
                         hammer_object.c hammer_ondisk.c 
                         hammer_recover.c hammer_vfsops.c 
                         hammer_vnops.c 
  Log:
  HAMMER 54/Many: Performance tuning
  
  * Implement hammer_vop_bmap().
  
  * Implement cluster_read() support.  This should jump up linear read
    performance almost to the platter speed.  I get 100 MB/sec testing
    vs 35 MB/sec previously.
  
  * Do a better job kicking an inode into the flusher when writing
    sequentially.  This hops up write rate at least +50%.  It isn't
    quite able to run at the platter speed due to B-Tree overheads
    which will be addressed in a later patch.
  
  * Do not create data fragments at the ends of files greater then 16K, use
    a full 16K block.  The reason is that fragments in HAMMER are allocated
    out of a wholely different zone and we do not want to lose the chance of
    making the tail end of the file contiguous.
  
    Files less then 16K still use data fragments.
  
  * Fix a machine lockup related to an interrupt race with biodone() and
    insertions and deltions from hmp->lose_list.
  
  * Fix a memory exhaustion issue.
  
  Reported-by: Francois Tigeot <ftigeot at wolfpond.org> (machine lockup)
  Credit-also: Jonathan Stuart on the 0 byte sized file bug fix.
  
  Revision  Changes    Path
  1.81      +8 -1      src/sys/vfs/hammer/hammer.h
  1.28      +3 -1      src/sys/vfs/hammer/hammer_cursor.c
  1.25      +14 -1     src/sys/vfs/hammer/hammer_flusher.c
  1.71      +15 -2     src/sys/vfs/hammer/hammer_inode.c
  1.39      +37 -23    src/sys/vfs/hammer/hammer_io.c
  1.66      +6 -0      src/sys/vfs/hammer/hammer_object.c
  1.54      +13 -2     src/sys/vfs/hammer/hammer_ondisk.c
  1.24      +2 -0      src/sys/vfs/hammer/hammer_recover.c
  1.45      +17 -2     src/sys/vfs/hammer/hammer_vfsops.c
  1.66      +241 -28   src/sys/vfs/hammer/hammer_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.80&r2=1.81&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_cursor.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_flusher.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.70&r2=1.71&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.38&r2=1.39&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.65&r2=1.66&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.53&r2=1.54&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_recover.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.65&r2=1.66&f=u





More information about the Commits mailing list