RFR: Handle old, pinned regions [v7]
William Kemper
wkemper at openjdk.org
Fri Aug 5 23:02:55 UTC 2022
On Fri, 5 Aug 2022 07:00:01 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 21 commits:
>>
>> - Merge branch 'shenandoah-master' into fill-old-pinned
>> - Do not drop abbreviated argument when recording success concurrent cycle
>> - Fix whitespace
>> - Prepare for review
>> - Merge branch 'shenandoah-master' into fill-old-pinned
>> - Validate old gen state transitions
>> - Make use of old generation without down casting
>> - Make verifier aware of changes to old generation state machine
>> - Make rset scan aware of changes to old generation state machine
>> - Fix use of index as count and over-counting of garbage
>> - ... and 11 more: https://git.openjdk.org/shenandoah/compare/60e43d04...bdda91d6
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 212:
>
>> 210: if (region->is_regular() || region->is_pinned()) {
>> 211: if (!region->has_live()) {
>> 212: assert(!region->is_pinned(), "Pinned region should have live (pinned) objects.");
>
> This comment pertains to lines 231-234 below for the case where the immediate_regions and immediate_garbage for the humongous regions are being counted. I think while it correctly counts the contribution of the Humongous Continuations, I believe because of the "else if" it misses the contribution of the first Humongous Starts region.
>
> This isn't a serious issue, however, since it's just a value that is logged rather than being used in guiding any steps/heuristics in the collection. Not your change, but thought I'd mention it.
That's a good catch! Eventually we could have a threshold for the amount of `immediate_garbage` above which we would _not_ continue with the old collection (i.e., we found enough immediate garbage to skip mixed collections). I will open a separate PR to fix this.
-------------
PR: https://git.openjdk.org/shenandoah/pull/149
More information about the shenandoah-dev
mailing list