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

git: HAMMER - Rework write pipelining

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 19 Aug 2009 14:02:44 -0700 (PDT)

commit de996e865902051a4e8e4945e7116be8850f871c
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Wed Aug 19 13:54:29 2009 -0700

    HAMMER - Rework write pipelining
    * Rework write pipelining so it is based on pending direct writes on an
      inode-by-inode basis.  ip->rsv_recs and hmp->rsv_recs are now
      decremented after the direct has completed rather then when the sync
      code has processed the record.
      This fixes serious buffer cache overloading when doing linear writes.
    * Implement write clustering or bawrite() calls based on a filesystem
      block getting filled up instead of relying on the buffer cache's bdwrite()
      to keep ahead of the mark.
    * vfs.hammer.cluster_enable now effects both read and write clustering.

Summary of changes:
 sys/vfs/hammer/hammer.h        |    1 +
 sys/vfs/hammer/hammer_io.c     |    8 ++++++--
 sys/vfs/hammer/hammer_object.c |   35 +++++++++++++++++++++++++----------
 sys/vfs/hammer/hammer_vfsops.c |    3 +++
 sys/vfs/hammer/hammer_vnops.c  |   35 ++++++++++++++++++++++++++++++++++-
 5 files changed, 69 insertions(+), 13 deletions(-)


DragonFly BSD source repository

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