Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jun 2002 11:08:04 -0700 (PDT)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ufs ufs_readwrite.c
Message-ID:  <200206221808.g5MI84f97451@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2002/06/22 11:08:04 PDT

  Modified files:        (Branch: RELENG_4)
    sys/ufs/ufs          ufs_readwrite.c 
  Log:
  MFC 1.90.  Fix a major performance issue that was introduced in late
  2000.  Setting B_CLRBUF for the BALLOC call unexpectedly caused BALLOC
  to issue a read-before-write for each fs block, resulting in a huge
  (4x) performance penalty due to extra I/Os and lack of clustering.
  This workaround avoids the unnecessary read resulting in full write
  clustering performance to media.  It is expected to have major visible
  effects only on large news systems (e.g. INN cyclic buffers), and databases,
  especially on hardware RAID systems (10x), and has already been shown to
  have a huge positive effect on INN.  Most other programs use write-append
  which is already optimal.
  
  This patch does not fix the double-memory-copy to the filesystem buffer.
  That is a more difficult problem and is being worked on as a separate
  issue.
  
  Reviewed by:    mckusick, tegge
  
  Revision   Changes    Path
  1.65.2.11  +11 -7     src/sys/ufs/ufs/ufs_readwrite.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206221808.g5MI84f97451>