RFR: 8373819: GenShen: Requested generation may be null [v2]

William Kemper wkemper at openjdk.org
Wed Dec 31 18:21:17 UTC 2025


> This PR attempts to simplify the generational control thread by decoupling it somewhat from the heap/gc cancellation mechanism. This is meant to prevent the control thread from seeing inconsistencies between `shHeap::_cancelled_gc` and `shGenControlThread::_requested_gc_cause`.

William Kemper has updated the pull request incrementally with one additional commit since the last revision:

  Take regulator thread out of STS before requesting GC
  
  The request may block while it waits for control thread to stop old marking. If workers are already in the STS, and the regulator thread is still in the STS, but cannot yield, the safepoint will not run. Control, worker and regulator threads deadlock each other.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28932/files
  - new: https://git.openjdk.org/jdk/pull/28932/files/8b3acc85..e416d123

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28932&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28932&range=00-01

  Stats: 7 lines in 1 file changed: 7 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/28932.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28932/head:pull/28932

PR: https://git.openjdk.org/jdk/pull/28932


More information about the shenandoah-dev mailing list