RFR: 8359435: AArch64: add support for 8.5 SB instruction
Evgeny Astigeevich
eastigeevich at openjdk.org
Fri Jun 13 16:08:27 UTC 2025
On Fri, 13 Jun 2025 14:00:08 GMT, Evgeny Astigeevich <eastigeevich at openjdk.org> wrote:
> 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):
>
>> ... a DSB+ISB sequence is expected to have a significantly greater impact on performance than an SB ...
>
> CPUs supporting it:
> - Apple M2+
> - Neoverse-N2
> - Neoverse-V2
>
> Tested:
> - Gtests passed
The case is to use it for spin pauses instead of `ISB` on Neoverse-N2/V2.
There is data SB-based spin pauses are less disruptive then ISB-based one on them, so performance is better:
- https://github.com/mysql/mysql-server/pull/611
- https://github.com/facebook/folly/pull/2390
There are discussions regarding using it for spin pauses:
- https://github.com/gperftools/gperftools/pull/1594
- https://github.com/haproxy/haproxy/pull/2974
Do you think it is better to have a PR combining this PR and use of SB for spin pauses?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25801#issuecomment-2970848883
More information about the hotspot-compiler-dev
mailing list