Page MenuHomeFreeBSD

noinline vdev_queue_max_async_writes so it can be dtrace'd
ClosedPublic

Authored by allanjude on Aug 24 2015, 9:48 PM.
Tags
None
Referenced Files
F82856914: D3472.diff
Fri, May 3, 6:33 AM
Unknown Object (File)
Mar 28 2024, 2:12 PM
Unknown Object (File)
Mar 19 2024, 6:44 AM
Unknown Object (File)
Mar 1 2024, 2:05 AM
Unknown Object (File)
Feb 16 2024, 8:44 AM
Unknown Object (File)
Feb 16 2024, 7:32 AM
Unknown Object (File)
Feb 4 2024, 8:39 PM
Unknown Object (File)
Feb 4 2024, 5:50 PM
Subscribers

Details

Summary

When trying to use dtrace to investigate ZFS write performance, an important
probe point is not usable because it has been inlined by the compiler.

I am guessing this doesn't happen on IllumOS because they use GCC.

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200316
Submitted by: Lacey Powers <lacey.leanne@gmail.com>

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

allanjude retitled this revision from to noinline vdev_queue_max_async_writes so it can be dtrace'd.
allanjude updated this object.
allanjude edited the test plan for this revision. (Show Details)
allanjude added reviewers: bapt, marcel, smh, mav, avg, delphij.

Have you measured the performance impact of this change?

Have you measured the performance impact of this change?

I ran before and after tests of this patch on a machine with a pair of mirrored 3TB disks, and 24GB of ram.
There was no measurable difference in async write performance.

Running dtrace on the function while writing at max bandwidth (~170mb/s) resulted in 358755 entries into the function in the 60 second measurement period (~6 per ms).
When idle, entries into this function are fewer than 5000 per 60 seconds.

My understanding is that because this function is called when an async write is being queued, to determine queue position, it shouldn't be critical to performance, so un-inlining it shouldn't impact much.

Do you have a recommended benchmark to validate this change?

This comment was removed by avg.
avg edited edge metadata.
This revision is now accepted and ready to land.Aug 25 2015, 7:12 AM
smh edited edge metadata.
bapt edited edge metadata.
This revision was automatically updated to reflect the committed changes.