RFR: 8367646: [GenShen] Control thread may overwrite gc cancellation cause set by mutator [v2]

William Kemper wkemper at openjdk.org
Thu Oct 9 18:23:18 UTC 2025


On Thu, 9 Oct 2025 01:55:52 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix cancellation time management, simplify normal cancellation API
>
> src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp line 116:
> 
>> 114:     if (request.cause == GCCause::_shenandoah_concurrent_gc) {
>> 115:       request.generation = _heap->young_generation();
>> 116:       _heap->clear_cancelled_gc(false);
> 
> It appears as if this was the _only_ case where `clear_cancelled_gc()` was called while not clearing the oom_handler.
> 
> Should `clear_cancelled_gc()` be modified by removing the option/argument for clearing or not the oom_handler?

Good catch. When fixing this, I also realized that the new `clear_cancellation` wasn't handling the `_cancel_requested_time` as it should.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27662#discussion_r2417607745


More information about the shenandoah-dev mailing list