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

William Kemper wkemper at openjdk.org
Wed Feb 26 19:50:59 UTC 2025


On Tue, 25 Feb 2025 23:10:45 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 32 commits:
>> 
>>  - Merge tag 'jdk-25+11' into fix-control-regulator-threads
>>    
>>    Added tag jdk-25+11 for changeset 0131c1bf
>>  - Address review feedback (better comments, better names)
>>  - 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
>>  - ... and 22 more: https://git.openjdk.org/jdk/compare/0131c1bf...d7858deb
>
> src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.hpp line 75:
> 
>> 73: 
>> 74:   // The mode is read frequently by requesting threads and only ever written by the control thread.
>> 75:   volatile GCMode _mode;
> 
> A bit of a nit: Any reason not to just call it `_gc_mode` which seems now to be its _de facto_ name due to its accessor method name and how it's referred to in comments?

Renamed it.

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

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


More information about the shenandoah-dev mailing list