cvs commit: src/sys/kern vfs_bio.c

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jun 9 22:02:35 PDT 2008


dillon      2008/06/09 22:02:09 PDT

DragonFly src repository

  Modified files:
    sys/kern             vfs_bio.c 
  Log:
  Change bwillwrite() to smooth out performance under heavy loads.  Blocking
  based on strict hystersis was being used to try to gang flushes together
  but filesystems can still blow out the buffer cache and cause processes
  to block for long periods of time waiting for the dirty count to drop
  significantly.
  
  Instead, as the number of dirty buffers exceeds the desired maximum
  bwillwrite() imposes a dynamic delay which increases as the number of
  dirty buffers increase.  This improves the stall behavior under heavy loads
  and keeps the system responsive.
  
  TODO: The algorithm needs to have a per-LWP heuristic to penalize heavy
  writers more then light ones.
  
  Revision  Changes    Path
  1.103     +41 -10    src/sys/kern/vfs_bio.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.102&r2=1.103&f=u





More information about the Commits mailing list