On Wed, 10 Jun 2026 17:35:43 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).

This pull request has now been integrated.

Changeset: 5bb5a88f
Author:    Mat Carter <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/5bb5a88f51ec8ff12493ba511572468b424da932
Stats:     48 lines in 6 files changed: 46 ins; 0 del; 2 mod

8386428: With -UseLSE the Starvation test on Windows ARM64 timeouts

Reviewed-by: aph, qamai, vklang, gcao

-------------

PR: https://git.openjdk.org/jdk/pull/31465

Reply via email to