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:22 UTC 2025
On Fri, 14 Feb 2025 19:28:01 GMT, Kelvin Nilsen <kdnilsen 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/shenandoahGenerationalControlThread.cpp line 98:
>
>> 96: }
>> 97:
>> 98: // In case any threads are waiting for a cycle to happen, let them know it isn't.
>
> maybe "it isn't happening", or "it won't happen".
This is interesting. If GC is stopping prior to shutting down the VM, is there any point in notifying these waiting threads. Why not let them wait, and quietly shut things down? Are there JCK or other tests that would fail in that case?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23475#discussion_r1956979069
More information about the hotspot-gc-dev
mailing list