RFR: 8256688: Shenandoah: Lock rank inversion after JDK-8212879

Zhengyu Gu zgu at openjdk.java.net
Fri Nov 20 01:07:10 UTC 2020


After JDK-8212879, gc_notification() takes JvmtiTagMap_lock/24, while ShenandoahConcurrentWeakRootsEvacUpdateTask holds StringDedupQueue_lock/11, which results lock rank inversion during concurrent weak root processing.

This patch ensures that no lock is held when triggers gc notification.

Test:
- [x] hotspot_gc_shenandoah

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

Commit messages:
 - Fixed ShenandoahHeapIterationRootScanner

Changes: https://git.openjdk.java.net/jdk/pull/1334/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1334&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256688
  Stats: 17 lines in 3 files changed: 15 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1334.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1334/head:pull/1334

PR: https://git.openjdk.java.net/jdk/pull/1334


More information about the shenandoah-dev mailing list