Skip site navigation (1)Skip section navigation (2)
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>