RFR: 8328986: Deprecate UseRTM* flags for removal

Emanuel Peter epeter at openjdk.org
Tue Mar 26 17:15:21 UTC 2024


On Mon, 25 Mar 2024 20:41:20 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

> 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

@vnkozlov looks reasonable.
What about `NoRTMLockEliding`? I guess it is a compiler option. How does that have to be handled?

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

PR Comment: https://git.openjdk.org/jdk/pull/18478#issuecomment-2021018283


More information about the hotspot-compiler-dev mailing list