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>