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

cvs commit: src/sys/dev/disk/vn vn.c src/sys/kern vfs_bio.c vfs_cluster.c src/sys/sys buf.h vnode.h src/sys/vfs/nfs nfs_bio.c src/sys/vfs/ufs ufs_readwrite.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 22 Apr 2008 11:46:54 -0700 (PDT)

dillon      2008/04/22 11:46:54 PDT

DragonFly src repository

  Modified files:
    sys/dev/disk/vn      vn.c 
    sys/kern             vfs_bio.c vfs_cluster.c 
    sys/sys              buf.h vnode.h 
    sys/vfs/nfs          nfs_bio.c 
    sys/vfs/ufs          ufs_readwrite.c 
  Log:
  Fix some IO sequencing performance issues and reformulate the strategy
  we use to deal with potential buffer cache deadlocks.  Generally speaking
  try to remove roadblocks in the vn_strategy() path.
  
  * Remove buf->b_tid (HAMMER no longer needs it)
  
  * Replace IO_NOWDRAIN with IO_NOBWILL, requesting that bwillwrite() not
    be called.  Used by VN to try to avoid deadlocking.  Remove B_NOWDRAIN.
  
  * No longer block in bwrite() or getblk() when we have a lot of dirty
    buffers.   getblk() in particular needs to be callable by filesystems
    to drain dirty buffers and we don't want to deadlock.
  
  * Improve bwillwrite() by having it wake up the buffer flusher at 1/2 the
    dirty buffer limit but not block, and then block if the limit is reached.
    This should smooth out flushes during heavy filesystem activity.
  
  Revision  Changes    Path
  1.37      +1 -1      src/sys/dev/disk/vn/vn.c
  1.99      +15 -28    src/sys/kern/vfs_bio.c
  1.33      +1 -1      src/sys/kern/vfs_cluster.c
  1.44      +2 -8      src/sys/sys/buf.h
  1.78      +5 -1      src/sys/sys/vnode.h
  1.43      +0 -6      src/sys/vfs/nfs/nfs_bio.c
  1.25      +0 -2      src/sys/vfs/ufs/ufs_readwrite.c


http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/vn/vn.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.98&r2=1.99&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cluster.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/buf.h.diff?r1=1.43&r2=1.44&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/vnode.h.diff?r1=1.77&r2=1.78&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_bio.c.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_readwrite.c.diff?r1=1.24&r2=1.25&f=u



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