-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Fixes and enhancements of SIMD raidz parity #4849
Conversation
@thegreatgazoo @behlendorf This patch tries to add more insight in what exactly is [fastest] executing. I expanded existing kstat to include an unique ID for each physical raidz parity method. Then IDs of [fastest] will point to actual method selected by micro-benchmark. Sample output here |
I believe the main reason fastest may be confusing is because it doesn't strictly map to I think you're on the right track extending the kstat to show this additional information but I find the unique ID scheme difficult to read. How about either using a KSTAT_TYPE_RAW to give you more control over the output: One option would be to put it in a table format like this. Then you could generate a two line header which included the fastest method as a string. It would still be easy for a machine to parse and a little more human readable. Or maybe there's a better way to present this data.
I'd suggest splitting the kstat changes, however you decide to do it, in to a separate patch from the other minor fixes. Then I'll be able to merge those changes independently while we decide what to do about the kstats. |
I completely overlooked the |
3b94416
to
17f820c
Compare
@behlendorf Yes, commit 7501b7c in #4860 is the same thing |
- Implementation lock replaced with atomic variable - Trailing whitespace is removed from user specified parameter, to enhance experience when using commands that add newline, e.g. `echo` - raidz_test: remove dependency on `getrusage()` and RUSAGE_THREAD, Issue openzfs#4813 - silence `cppcheck` in vdev_raidz, partial solution of Issue openzfs#1392 - Minor fixes and cleanups - Enable use of original parity methods in [fastest] configuration. New opaque original ops structure, representing native methods, is added to supported raidz methods. Original parity methods are executed if selected implementation has NULL fn pointer. Signed-off-by: Gvozden Neskovic <neskovic@gmail.com>
squashed and rebased on master |
LGTM |
Merged as: c9187d8 Fixes and enhancements of SIMD raidz parity |
Fixes and enhancements of SIMD raidz parity
experience when using commands that add newline, e.g.
echo
getrusage()
andRUSAGE_THREAD
, Issue Fails to compile with musl: zed_log.c #4813cppcheck
in vdev_raidz, partial solution of Issue Fix errors detected by cppcheck #1392Commit 2:
New opaque original ops structure, representing original methods, is added
to supported raidz methods. Original parity methods are executed if selected
implementation has NULL fn pointer.