RFR: 8294842: Pass actual pending cards to G1Policy::update_young_length_bounds during young gen revise [v3]
Kim Barrett
kbarrett at openjdk.org
Thu Oct 13 18:25:49 UTC 2022
On Thu, 13 Oct 2022 05:13:08 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> Looking at the code:
>> `G1Policy::record_concurrent_refinement_stats` sets `_pending_cards_at_gc_start = dcqs.num_cards()`; `record_concurrent_refinement_stats` is called in `G1Policy::record_young_collection_start`; in `G1YoungCollector::collect`, `record_young_collection_start` is called _before_ `pre_evacuate_collection_set` which calls `G1BarrierSet::dirty_card_queue_set().concatenate_logs`.
>>
>> I seem to be missing something, can you clarify?
>
> That's a bug. I even found and fixed it in some earlier version of my concurrent refinement changes. But it looks like I never extracted it out or even created a bug report for it, and there's no fix for it in my concurrent refinement PR. Drat!
I'll file a bug for that problem. I'd prefer this comment be removed, so it doesn't need to be tracked down for removal as part of fixing that bug. Your call on that.
-------------
PR: https://git.openjdk.org/jdk/pull/10649
More information about the hotspot-gc-dev
mailing list