Asynchronous writing to zvols (ZFS)
Peter Schuller
peter.schuller at infidyne.com
Sun Jul 27 18:25:48 UTC 2008
Hello,
> The problem is that we don't between async and sync I/O request on GEOM
> level, that's why I decided to commit a ZIL log after each write, which
> wasn't very smart it seems. This is handled differently in version I've
> in perforce. Could you try the below patch and see how it performs now?
>
> http://people.freebsd.org/~pjd/patches/zvol.c.patch
The above (though the files has moved, for anyone else reading wanting to
apply) does eliminate the synchronicity problem. I am now seeing 5-15
MB/second write speeds to the zvol, with 100% constituent disk utilization.
I am not sure why I don't see faster writes; I get more like 40-60 when
writing to a file in a ZFS file system on the same pool. But regardless, the
synchronisity issue is gone.
Does your comment above regarding distinguishing bewteen sync and asynch apply
to the section of code affected by the above patch, or did you mean there is
some other place above the zvol handling where there is lack of distinction?
That is, is the end-effect of the above change that we *never* do synchronous
writes (because the fact that a write is supposed to be synchronous is
somehow lost before it reaches that point)?
I understand a zil_commit is only required on BIO_FLUSH requests, which is
what the patch fixes. But I get the impression from your phrasing above that
the reason that a zil_commit was done on every I/O from the get go was in an
effort to honor actual synchronous writes by conservatively *always* doing
synchronous writes, because the synchronicity of synchronous writes would not
be propagated down to the zvol class. I wouldn't want to sacrifice
correctness just to get the speed ;)
--
/ Peter Schuller
PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller at infidyne.com>'
Key retrieval: Send an E-Mail to getpgpkey at scode.org
E-Mail: peter.schuller at infidyne.com Web: http://www.scode.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20080727/6f356874/attachment.pgp
More information about the freebsd-fs
mailing list