[jdk17u-dev] RFR: 8325587: Shenandoah: ShenandoahLock should allow blocking in VM [v2]

Xiaolong Peng xpeng at openjdk.org
Mon Aug 19 15:29:29 UTC 2024


> Hi, 
>     This PR is a Backport of [JDK-8325587](https://bugs.openjdk.org/browse/JDK-8325587): Shenandoah: ShenandoahLock should allow blocking in VM, the original commit was authored by Aleksey Shipilev on 21 Feb 2024 and was reviewed by Robbin Ehn and Roman Kennke, and already backported to jdk21.
>      It is not a clean backport for JDK17 due to code style change(NULL -> nullptr) and thread header file and API changes.   
>     This is the first backport of a series of improvements for ShenandoahLock to improve contention issue which we I have seem in our customer's production load running with JDK17, here are the series of improvements I'm going to backport to JDK17:
> 
> | Bug         | Title                                          |
> | ----------- | ---------------------------------------------- |
> | [JDK-8325587](https://bugs.openjdk.org/browse/JDK-8325587) | ShenandoahLock should allow blocking in VM     |
> | [JDK-8331405](https://bugs.openjdk.org/browse/JDK-8331405) | Optimize ShenandoahLock with TTAS              |
> | [JDK-8331411](https://bugs.openjdk.org/browse/JDK-8331411) | Reconsider spinning duration in ShenandoahLock |
> | [JDK-8335904](https://bugs.openjdk.org/browse/JDK-8335904) | Fix invalid comment in ShenandoahLock          |
> 
> 
> Best,
> Xiaolong. 
> 
> 
> Additional tests:
> - [x] hotspot_gc_shenandoah
> - [x] Linux x86_64 server fastdebug, all passes with -XX:+UseShenandoahGC

Xiaolong Peng has updated the pull request incrementally with one additional commit since the last revision:

  Use thread->as_Java_thread() instead of static_cast

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

Changes:
  - all: https://git.openjdk.org/jdk17u-dev/pull/2797/files
  - new: https://git.openjdk.org/jdk17u-dev/pull/2797/files/9696c8a2..22086ff2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2797&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2797&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/2797.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/2797/head:pull/2797

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


More information about the jdk-updates-dev mailing list