RFR: 8328986: Deprecate UseRTM* flags for removal [v4]
David Holmes
dholmes at openjdk.org
Wed Mar 27 00:41:22 UTC 2024
On Tue, 26 Mar 2024 23:54:47 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
>
> Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
>
> Added RTMRetryCount flag to the test.
globals.hpp also needs to be updated to mark the flags as `(Deprecated)`
It is curious that one of the documented flags was actually experimental.
Otherwise looks good. Thanks
-------------
Changes requested by dholmes (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/18478#pullrequestreview-1962023169
More information about the hotspot-compiler-dev
mailing list