RFR: 8349094: GenShen: Race between control and regulator threads may violate assertions [v12]

Y. Srinivas Ramakrishna ysr at openjdk.org
Sat Feb 15 01:55:21 UTC 2025


On Sat, 15 Feb 2025 01:10:51 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 30 commits:
>> 
>>  - Merge remote-tracking branch 'jdk/master' into fix-control-regulator-threads
>>  - Old gen bootstrap cycle must make it to init mark
>>  - Merge remote-tracking branch 'jdk/master' into fix-control-regulator-threads
>>  - Improve message for assertion
>>  - Make shutdown safer for threads requesting (or expecting) gc
>>  - Do not accept requests if control thread is terminating
>>  - Notify waiters when control thread terminates
>>  - Add event for control thread state changes
>>  - Fix shutdown livelock error
>>  - Fix includes
>>  - ... and 20 more: https://git.openjdk.org/jdk/compare/ba6c9659...915ffbda
>
> src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp line 101:
> 
>> 99:         || cause == GCCause::_shenandoah_allocation_failure_evac
>> 100:         || cause == GCCause::_shenandoah_humongous_allocation_failure;
>> 101:   }
> 
> Would it make sense to move this implementation also to the .cpp file like the other static `is_...` methods below?

Or is this guaranteeing inlining into the caller's body, which you might prefer for the callers?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23475#discussion_r1956968182


More information about the hotspot-gc-dev mailing list