RFR: 8328986: Deprecate UseRTM* flags for removal

Vladimir Kozlov kvn at openjdk.org
Mon Mar 25 20:47:44 UTC 2024


HotSpot supports RTM (restricted transactional memory) for locking since JDK 8 on Intel's processors ([JDK-8031320](https://bugs.openjdk.org/browse/JDK-8031320)). It was added to other platforms but has since been disabled and removed on all but Intel's processors. There was attempt to deprecate it ([JDK-8292082](https://bugs.openjdk.org/browse/JDK-8292082)) during JDK 20 development but at that time it was decided to keep it. Recently we discussed this with Intel and they agreed with RTM deprecation and removal from HotSpot.

RTM adds complexity and maintenance burden to HotSpot locking code. It was never enabled by default because it only helped in some cases of heavy lock contention. We are not testing RTM feature since JDK 14 when we problem-list related tests: [JDK-8226899](https://bugs.openjdk.org/browse/JDK-8226899). 

New LIGHTWEIGHT locking implementation will not support RTM locking: [JDK-8320321](https://bugs.openjdk.org/browse/JDK-8320321).

I propose to deprecate the related flags and remove the flags and all related code in a later release.

Changes are based on @rkennke changes for JDK 20 [#9810](https://github.com/openjdk/jdk/pull/9810)

Testing: tier1

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

Commit messages:
 - 8328986: Deprecate UseRTM* flags for removal

Changes: https://git.openjdk.org/jdk/pull/18478/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18478&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8328986
  Stats: 21 lines in 2 files changed: 20 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18478.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18478/head:pull/18478

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


More information about the hotspot-runtime-dev mailing list