[Bug 200316] don't have compiler inline vdev_queue_max_async_writes so zfs write throttle tuning works

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue May 19 03:34:55 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200316

            Bug ID: 200316
           Summary: don't have compiler inline vdev_queue_max_async_writes
                    so zfs write throttle tuning works
           Product: Base System
           Version: 10.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: lacey.leanne at gmail.com

Created attachment 156921
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=156921&action=edit
patch against 10.1-RELEASE to fix the issue.

On unpatched systems vdev_queue_max_async_writes is inlined and hidden from
dtrace. 

This prevents the use of the q.d async write tuning script, as outlined here

http://dtrace.org/blogs/ahl/2014/08/31/openzfs-tuning/

which makes it difficult to properly investigate and tune the ZFS write
throttle on FreeBSD 10.1. 

On unpatched systems the script reports:

dtrace: failed to compile script ./q.d: line 6: probe description
fbt::vdev_queue_max_async_writes:entry does not match any probes

Once patched, the output looks like this:

     min .--------------------------------. max      | count
     < 0 :  █                             : >= 30    | 174


     min .--------------------------------. max      | count
     < 0 :                                : >= 30    | 0


The attached patch adding __noinline fixes this. 

The problem can be reproduced on unpatched systems with the attached q.d
script.

Thank you for your time and assistance in fixing this.

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


More information about the freebsd-bugs mailing list