Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenZFS 6569 - large file delete can starve out write ops #5706

Merged
merged 1 commit into from
Jan 31, 2017

Conversation

gmelikov
Copy link
Member

Authored by: Alek Pinchuk alek@nexenta.com
Reviewed by: Matt Ahrens mahrens@delphix.com
Reviewed by: Sanjay Nadkarni sanjay.nadkarni@nexenta.com
Reviewed by: Pavel Zakharov pavel.zakharov@delphix.com
Ported-by: George Melikov mail@gmelikov.ru

OpenZFS-issue: https://www.illumos.org/issues/6569
OpenZFS-commit: openzfs/openzfs@1bf4b6f

@mention-bot
Copy link

@gmelikov, thanks for your PR! By analyzing the history of the files in this pull request, we identified @behlendorf, @ahrens and @grwilson to be potential reviewers.

@gmelikov
Copy link
Member Author

gmelikov commented Jan 30, 2017

This is a ready to commit version of #5449, i ported openzfs/openzfs@1bf4b6f again.

@behlendorf i had a compiler message (already fixed in code):

../../module/zfs/dmu.c: In function 'dmu_free_long_range_impl':
../../module/zfs/dmu.c:777:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for (int t = 0; t < TXG_SIZE; t++) {
   ^
../../module/zfs/dmu.c:777:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code

thought that it's behaviour was changed in #5686. Can we disable this warning too?

@behlendorf
Copy link
Contributor

behlendorf commented Jan 30, 2017

@gmelikov thanks for porting this. This is a slightly different warning. I'm not aware of a safe gcc option to suppress it for C90 builds. There may be one but it'll require more investigation. For the moment, you'll need to address it as you've done.

The other issue here will be the need for a new free__long__range dtrace probe. You'll need to add it to include/sys/trace_dmu.h and it can be modeled after the existing ones.

fs/zfs/zfs/dmu.c: In function ‘dmu_free_long_range_impl’:
fs/zfs/zfs/dmu.c:813:3: error: implicit declaration of function ‘trace_zfs_free__long__range’ [-Werror=implicit-function-declaration]
   DTRACE_PROBE3(free__long__range,
   ^
cc1: some warnings being treated as errors

@gmelikov gmelikov force-pushed the autoport-oz6569 branch 3 times, most recently from 1ab8309 to fe054d0 Compare January 31, 2017 09:22
Authored by: Alek Pinchuk <alek@nexenta.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Ported-by: George Melikov <mail@gmelikov.ru>

OpenZFS-issue: https://www.illumos.org/issues/6569
OpenZFS-commit: openzfs/openzfs@1bf4b6f
@gmelikov
Copy link
Member Author

@behlendorf thank you, added the free__long__range dtrace probe.

@kernelOfTruth
Copy link
Contributor

Been using it in production with an rt-kernel ever since #5449 was available, no issues or regressions observed so far

Copy link
Contributor

@behlendorf behlendorf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks, and nice job on the trace point, that isn't the easiest code to grok.

@behlendorf behlendorf merged commit 539d33c into openzfs:master Jan 31, 2017
@gmelikov gmelikov deleted the autoport-oz6569 branch February 1, 2017 14:37
wli5 pushed a commit to wli5/zfs that referenced this pull request Feb 28, 2017
Authored by: Alek Pinchuk <alek@nexenta.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: George Melikov <mail@gmelikov.ru>
Tested-by: kernelOfTruth <kerneloftruth@gmail.com>

OpenZFS-issue: https://www.illumos.org/issues/6569
OpenZFS-commit: openzfs/openzfs@1bf4b6f2
Closes openzfs#5706
wli5 pushed a commit to wli5/zfs that referenced this pull request Feb 28, 2017
Authored by: Alek Pinchuk <alek@nexenta.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: George Melikov <mail@gmelikov.ru>
Tested-by: kernelOfTruth <kerneloftruth@gmail.com>

OpenZFS-issue: https://www.illumos.org/issues/6569
OpenZFS-commit: openzfs/openzfs@1bf4b6f2
Closes openzfs#5706
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants