-
Notifications
You must be signed in to change notification settings - Fork 5.9k
8359435: AArch64: add support for 8.5 SB instruction #25801
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
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back eastigeevich! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
Hi @theRealAph , |
I think this can wait until we have a use for |
The case is to use it for spin pauses instead of
There are discussions regarding using it for spin pauses:
Do you think it is better to have a PR combining this PR and use of SB for spin pauses? |
BTW Arm published a post in their blog about different implementations of spin pauses: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/multi-threaded-applications-arm |
FWIW, I don't mind the SB assembler support to go under this, separate PR. We sometimes do it to split the work in the series of atomic commits, where the commit like this should certainly be non-regressing. The actual use of SB (spin-pauses) can then come under separate RFE, and would require much more work (and have associated risk). So, it would be tad less confusing if we had a dependent RFE for using SB in spin pauses, so it was obvious why do we need it. |
Yes, definitely, otherwise we're pushing dead code. Thanks. |
Huh? The least confusing is when the SB support goes in the PR where it is used. That really is obvious, without any dependency chain. |
Speculation Barrier (SB) instruction can be used instead of a pair of DSB, ISB if supported. It should have better performance than DSB+ISB (https://developer.arm.com/documentation/102825/0100):
CPUs supporting it:
Tested:
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25801/head:pull/25801
$ git checkout pull/25801
Update a local copy of the PR:
$ git checkout pull/25801
$ git pull https://git.openjdk.org/jdk.git pull/25801/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25801
View PR using the GUI difftool:
$ git pr show -t 25801
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25801.diff
Using Webrev
Link to Webrev Comment