On Thu, 18 Jun 2026 17:43:16 GMT, Mat Carter <[email protected]> wrote:
>> With -UseLSE the Starvation test on Windows ARM64 timeouts close to 100% >> whereas this only happens on Linux ARM64 on larger machines with many cores. >> The issue is that C2 outputs an LDR following the CAS in LinkedTransferQueue >> which can execute before the STLXR breaking the Dekker protocol. >> >> Replacing the LDR with LADR by using getAcquire solves the issue as it won't >> be reordered before the STLXR. This does impact the +UseLSE case as the >> LADR was not necessary and is slightly more expensive than LDR. But to >> handle this case would require larger changes to Hotspot >> >> Starvation test passes on Windows ARM64 and Linux ARM64, with no regressions >> on tier1 >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Understood, I'll forgo the intrinsic approach and simply switch to using > getVolatile(). Are there specific [micro]benchmarks that you would like to > see the results from; what is the minimum set of OS/Architecture combinations > that will satisfy reviewers? @macarte Hi, Thank you for your contribution. I believe you have fixed the issue you described. I tested the issue described in https://bugs.openjdk.org/browse/JDK-8387644 with this patch, and the problem still exists. Should we continue fixing it in this PR, or should we open a new PR for the fix? ------------- PR Comment: https://git.openjdk.org/jdk/pull/31465#issuecomment-4899784279
