Prefaulting for i/o buffers: v2.0

Konstantin Belousov kostikbel at gmail.com
Sun Feb 26 14:52:22 UTC 2012


I started a new thread since I do not want this message to interfere
with some side discussions caused by my initial letter.

I continued development and refinement of the original patch. The
latest version is available at
http://people.freebsd.org/~kib/misc/vm1.11.patch.

Since first announce, intermediate versions of the patch were reviewed
by attilio, mdf and pjd.  A version of the patch was tested and
benchmarked by flo, which apparently shown no difference for a
postgresql benchmark.

I fixed several shameful bugs, in particular, buildworld now
successfully finishes on the patched kernel and working directory both
on UFS and newnfs mounts. Apparently, bsdar(1) provides an excellent
functional test for the patch.

Most significant difference with previous variants is that now the use
of prefaulting is opt-in. I discovered that typical filesystem does
not handle uiomove() errors gracefully. Only UFS and newnfs are
switched to use prefaulting.

The newnfs client was changed to properly handle uiomove() failures
and to not cause user data loss on EFAULT (this is also applicable for
the stock svn sources). Corresponding changes were reviewed by
rmacklem.

My own feel is that vm1.11.patch is ready to be committed. This is a
notification to allow more people to take a look and provide the
pre-commit opinions. Thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20120226/c62919ce/attachment.pgp


More information about the freebsd-arch mailing list