RFR: 8366441: AArch64: Support WFET in OnSpinWait
Ruben
duke at openjdk.org
Wed Dec 10 13:15:46 UTC 2025
Implement OnSpinWait based on WFET - wait for event with timeout:
- introduce OnSpinWaitDelay - the OnSpinWait time in nanoseconds;
- the OnSpinWaitInstCount is expected to be 1 when WFET is used;
- the waiting loop is followed by SB - to ensure following instructions aren't speculated until wait is finished;
- the timer register is read via the self-synchronized view CNTVCTSS_EL0 to prevent the read being hoisted out of the loop.
The WFET and CNTVCTSS_EL0 read are added to aarch64-asmtest.py as hex values - using the instruction mnemonics would require support of -march=armv9-2.a, and consequently, the binutils 2.36+.
-------------
Commit messages:
- Update
- Merge from mainline
- 8366441: AArch64: Support WFET in OnSpinWait
Changes: https://git.openjdk.org/jdk/pull/27030/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27030&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8366441
Stats: 1272 lines in 14 files changed: 153 ins; 1 del; 1118 mod
Patch: https://git.openjdk.org/jdk/pull/27030.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/27030/head:pull/27030
PR: https://git.openjdk.org/jdk/pull/27030
More information about the hotspot-dev
mailing list