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
Detect HAVE_LARGE_STACKS at compile time #12350
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed By: Allan Jude allanjude@freebsd.org
|
Thanks for looking into this. Do you happen to have any numbers to show how much of a difference this makes? |
06ca1a0
to
12c7e8e
Compare
c4b5e1c
to
d46a5fd
Compare
|
Thinking about it again, why would it need to be done at configure or even make? If we already have the defines, why not just check them in some header(s)? Why complicate? |
|
Feel free to do it another way, I don't know this code very well. |
|
I don't mean anything complicated. Not sure if there is a better header, may be @behlendorf propose one, but I am thinking about something like this, plus equivalent for Linux: |
|
I think either approach should work fine, although doing the check as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! Just the checkstyle whitespace nits to fix :)
Signed-off-by: Kevin Bowling <kbowling@FreeBSD.org>
|
I'd also like this merged back to 2.1, is there anything I can do to help with that? |
Move HAVE_LARGE_STACKS definitions to header and set when appropriate. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Allan Jude <allan@klarasystems.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Kevin Bowling <kbowling@FreeBSD.org> Closes #12350
Move HAVE_LARGE_STACKS definitions to header and set when appropriate. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Allan Jude <allan@klarasystems.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Kevin Bowling <kbowling@FreeBSD.org> Closes openzfs#12350
Move HAVE_LARGE_STACKS definitions to header and set when appropriate. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Allan Jude <allan@klarasystems.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Kevin Bowling <kbowling@FreeBSD.org> Closes #12350
Move HAVE_LARGE_STACKS definitions to header and set when appropriate. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Allan Jude <allan@klarasystems.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Kevin Bowling <kbowling@FreeBSD.org> Closes openzfs#12350
Signed-off-by: Kevin Bowling kbowling@FreeBSD.org
Motivation and Context
On FreeBSD, this OZFS change seems to regress performance of sequential workloads (find /, indexing a mail spool, etc) handily versus the previous implementation. I am unsure if the conditions of b58986e apply equally to FreeBSD stack usage, but we have 16K stacks on common platforms so detect and set HAVE_LARGE_STACKS when it is the case.
Discussed with: @mjguzik
CC @allanjude @amotin
Description
How Has This Been Tested?
Types of changes
Checklist:
Signed-off-by.