[jdk17u-dev] RFR: 8331411: Shenandoah: Reconsider spinning duration in ShenandoahLock

Xiaolong Peng xpeng at openjdk.org
Thu Sep 12 13:56:25 UTC 2024


Hi, 
    This PR is a Backport of [[JDK-8331411](https://bugs.openjdk.org/browse/JDK-8331411)]: Reconsider spinning duration in ShenandoahLock. The original commit was authored by Xiaolong Peng on 26 June 2024 and was reviewed by[Aleksey Shipilëv](https://github.com/shipilev), [Kelvin Nilsen](https://github.com/kdnilsen), and [William Kemper](https://github.com/earthling-amzn), it had already been backported to jdk21.
    
   It was not a clean merge, there were some conflicts and API change which have been resolved and tested. Meanwhile, given there were conflicts to resolve, I also updated the invalid comments which was fixed in JDK-8335904.
   
   This is the third PR of the series of improvements we are proposing to backport to jdk17 to solve the contention issue in ShenandoahLock, we have observed  the lock contention is causing real problems in some of our products.

   Here is the series of improvements for ShenandoahLock I'm going to backport to JDK17:

| Bug         | Title                                          | PR         |
| ----------- | ---------------------------------------------- |------------|
| [JDK-8325587](https://bugs.openjdk.org/browse/JDK-8325587) | ShenandoahLock should allow blocking in VM     | [2797](https://github.com/openjdk/jdk17u-dev/pull/2797)     |
| [JDK-8331405](https://bugs.openjdk.org/browse/JDK-8331405) | Optimize ShenandoahLock with TTAS              | [2845](https://github.com/openjdk/jdk17u-dev/pull/2845) |
| [JDK-8331411](https://bugs.openjdk.org/browse/JDK-8331411) | Reconsider spinning duration in ShenandoahLock |  [2868](https://github.com/openjdk/jdk17u-dev/pull/2868)  |
| [JDK-8335904](https://bugs.openjdk.org/browse/JDK-8335904) | Fix invalid comment in ShenandoahLock          |  X   |

### Additional test
- [x] MacOS AArch64 server fastdebug, hotspot_gc_shenandoah

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

Commit messages:
 - Use thread->as_Java_thread instead of JavaThread::cast
 - Backport 817edcb697cbb8c608c9292cdc4b99db4f5844dc

Changes: https://git.openjdk.org/jdk17u-dev/pull/2868/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2868&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331411
  Stats: 47 lines in 2 files changed: 22 ins; 11 del; 14 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/2868.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/2868/head:pull/2868

PR: https://git.openjdk.org/jdk17u-dev/pull/2868


More information about the jdk-updates-dev mailing list