JDK-8242469 : [aarch64] Remove UseBarriersForVolatile support for T88 variant 0
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 15
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • OS: linux
  • CPU: aarch64
  • Submitted: 2020-04-09
  • Updated: 2020-05-27
  • Resolved: 2020-05-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 15
15Resolved
Related Reports
Relates :  
Description
The UseBarriersForVolatile option was originally a work-around for a prototype version of a CPU. Systems in the field should not require this. Replace code enabling UseBarriersForVolatile with an error or warning at startup if that CPU is detected.
Comments
Fix was integrated into JDK-8243339.
27-05-2020

OK, thank you! I will remove it together.
07-05-2020

Yes, I think that's the last use of it. And it' was never an official Arm feature, but a work-around.
06-05-2020

So do you think if it's better to remove the flag "CPU_DMB_ATOMICS" together?
06-05-2020

I've tested this on shipping ThunderX (1) systems and it does not fire.
30-04-2020

Yes, that would be great. I think this would be sufficient: diff -r 6c954123ee8d src/hotspot/cpu/aarch64/vm_version_aarch64.cpp --- a/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Wed Mar 18 10:34:13 2020 +0100 +++ b/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Thu Apr 30 13:18:11 2020 -0400 @@ -220,7 +220,7 @@ // ThunderX if (_cpu == CPU_CAVIUM && (_model == 0xA1)) { - if (_variant == 0) _features |= CPU_DMB_ATOMICS; + guarantee(_variant != 0, "Pre-release hardware no longer supported."); if (FLAG_IS_DEFAULT(AvoidUnalignedAccesses)) { FLAG_SET_DEFAULT(AvoidUnalignedAccesses, true); }
30-04-2020

Hi [~drwhite], I have created a CSR and JBS to obsolete this option (See https://bugs.openjdk.java.net/browse/JDK-8243456). So would you like the "work-around" codes related to "UseBarriersForVolatile" to be removed together with the same patch?
30-04-2020