[CFT] ZFS v15 patch (version 3)

Martin Matuska mm at FreeBSD.org
Thu Jul 8 21:30:36 UTC 2010

On 8. 7. 2010 22:04, Peter Jeremy  wrote / napísal(a):
> On 2010-Jul-05 13:50:52 +0200, Martin Matuska <mm at FreeBSD.org> wrote:
>> As ZFS v15 is already being used in the Solaris 10 enterprise world, we
>> can consider it well-tested.
> So we know if the ZFS in Solaris 10 includes any fixes that aren't
> publicly available?
All fixes for ZFS in Solaris 10 are not publicly available and to
customers only in binary form.
But the list of fixed bug IDs is available and they match the
OpenSolaris Bug IDs ;-)
>> Direct link to the patch:
>> http://people.freebsd.org/~mm/patches/zfs/v15/head-v15-v3.patch
>> The patch applies cleanly against head and stable/8.
> In order to apply it to a two-week-old stable/8, I needed to:
> # mkdir cddl/contrib/opensolaris/lib/pyzfs
> # mkdir cddl/contrib/opensolaris/lib/pyzfs/common
> # mkdir cddl/contrib/opensolaris/cmd/pyzfs
> Other than verifying that it applies (with the above change), compiles
> and runs, I haven't attempted any stress tests yet.
The -p0 flag creates all needed directories:
patch -p0 < head-v15-v3.patch
> Looking at the patchset, the most critical issue (IMHO) that doesn't
> appear to have been addressed is the interaction between ZFS ARC and
> the VM cache used by UFS/NFS: arc_memory_throttle() is still making
> decisions solely on the amount of "free" memory, without considering
> "inactive" or "cache".  I am running a slight variant of a patch by
> Artem Belevich (see http://pastebin.com/ZCkzkWcs) but he acknowledges
> that patch is incomplete (and I've managed to wedge one of my systems
> a couple of times whilst doing zfs send/recv).
> Without patching arc_memory_throttle(), a system behaves especially
> poorly if it uses ZFS with any of mmap(2), UFS or NFS client - in my
> case, ports/mail/mairix was almost guaranteed to wedge the system.
> This is the problem that the following hack is intended to work around:
>   perl -e '$x = "x" x 1000000;'
Regarding ARC, you might want to try the revision 209227 from head that
is scheduled for MFC on 18.7.2010:

OpenSolaris onnv-revision: 12636:13b5d698941e

OpenSolaris Bug IDs:
6950219 large ghost eviction causes high write latency

6953403 arc_adjust might adjust MRU unnecessarily

6951024 arc_adapt can lead to wild arc_p adjustment

More information about the freebsd-current mailing list