[Bug 236510] ZFS ARC usage causes mlock(2) to fail with EAGAIN

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Mar 13 14:13:28 UTC 2019


            Bug ID: 236510
           Summary: ZFS ARC usage causes mlock(2) to fail with EAGAIN
           Product: Base System
           Version: 11.2-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: martin at lispworks.com
 Attachment #202843 text/plain
         mime type:

Created attachment 202843
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=202843&action=edit

I am running 11.2-p5.

With the default settings of vm.max_wired and vfs.zfs.arc_max, compile and run
the attached mlocktest.c on a ZFS filer where ARC is using more than 1/3 of
RAM.  It is very likely to fail with

mlocktest: mlock: Resource temporarily unavailable

Other examples are gpg and pinentry-tty which will complain about using
insecure memory.

The problem is that mlock(2) fails when vm.stats.vm.v_wire_count >
vm.max_wired.  This is fine when there is little else using wired memory, but
ZFS ARC seems to be a large user of it.  Of course vfs.zfs.arc_max could be
decreased or vm.max_wired could be increased, but this doesn't seem sensible on
a ZFS file server that only needs a small amount of mlock'ed memory.

You are receiving this mail because:
You are the assignee for the bug.

More information about the freebsd-bugs mailing list