Date: Fri, 12 Jun 1998 11:42:19 +1000 From: Bruce Evans <bde@zeta.org.au> To: dyson@FreeBSD.ORG, julian@whistle.com Cc: bde@zeta.org.au, cvs-committers@FreeBSD.ORG, julian@FreeBSD.ORG Subject: Re: cvs commit: src/sys/ufs/ffs ffs_vnops.c Message-ID: <199806120142.LAA22840@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Kirk wanted the removal of the vfs_bio_awrite for testing various ideas >It wil likely come back after a while. >As John said. it's not much of a loss for indirect blocks. >> > It also seems to change the semantic to "wait for v_numoutput even in >> > the soft updates case", and fix some style bugs, and break the >> > optimization of using vfs_bio_awrite() instead of bawrite() for async >> > writes of indirect blocks. >> > >> If vfs_bio_awrite optimization is broken for *just* indirect blocks, >> there isn't much lossage. If the vfs_bio_awrite is broken for data >> blocks, the performance loss is significant. I read the test backwards. The breakage is actually for MNT_WAIT writes of non-indirect blocks - i.e., the usual case for MNT_WAIT is pessimized. We use async writes even in the MNT_WAIT case to start the i/o, and wait for the i/o to complete before returning from ffs_fsync(). We used to use vfs_bio_awrite() to optimize these async writes if possible. Lite2 doesn't have either optimization. I can't believe you actually want to remove vfs_bio_awrite() for testing. vfs_bio_awrite() is only slightly less deterministic that bawrite(). For testing and for getting closer to Lite2, you want to use bwrite(). Bruce 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?199806120142.LAA22840>
