On Tue, 4 Mar 2025 08:26:10 GMT, Thomas Schatzl <tscha...@openjdk.org> wrote:
>> src/hotspot/share/gc/g1/g1CollectionSet.cpp line 310: >> >>> 308: verify_young_cset_indices(); >>> 309: >>> 310: size_t card_rs_length = >>> _policy->analytics()->predict_card_rs_length(in_young_only_phase); >> >> Why are we using a prediction here? Additionally, won't this prediction also >> include cards from the old gen regions in case of mixed gcs? How do we >> reconcile that when we are adding old gen regions to c-set? > >> Why are we using a prediction here? > > Quickly checking again, do we have the actual count here from somewhere? > >> Additionally, won't this prediction also include cards from the old gen >> regions in case of mixed gcs? How do we reconcile that when we are adding >> old gen regions to c-set? > > The predictor contents changed to (supposedly) only contain cards containing > young gen references. See g1Policy.cpp:934: > > _analytics->report_card_rs_length(total_cards_scanned - > total_non_young_rs_cards, is_young_only_pause); Fair, I missed that details on young RS have been removed. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23739#discussion_r1979022900