RFR: 8294842: Pass actual pending cards to G1Policy::update_young_length_bounds during young gen revise
Kim Barrett
kbarrett at openjdk.org
Tue Oct 11 18:52:07 UTC 2022
On Tue, 11 Oct 2022 12:33:31 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
> Hi all,
>
> can I have reviews for this change that passes the actual amount of pending cards to `G1Policy::update_young_length_bounds` instead of some prediction during young gen revising?
> That improves predictions quite a bit.
>
> Depends on PR#10647, so please review that one first.
>
> Testing: gha, local testing, tier1-5 with other changes in this patch series, perf testing with other changes in this patch series
Changes requested by kbarrett (Reviewer).
src/hotspot/share/gc/g1/g1Policy.cpp line 198:
> 196: void G1Policy::update_young_length_bounds() {
> 197: // We have no measure of the number of pending cards in the thread buffers,
> 198: // assume these are very few.
`predict_pending_cards()` includes the cards that were thread buffers. It is based on the cards that were processed, which is done after DCQS::concatenate_logs.
src/hotspot/share/gc/g1/g1Policy.cpp line 531:
> 529: G1DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set();
> 530: // We have no measure of the number of cards in the thread buffers, assume
> 531: // these are very few compared to the ones in the DCQS.
I think it's really that the #cards in thread buffers is very small compared to the sum of the other two sources.
-------------
PR: https://git.openjdk.org/jdk/pull/10649
More information about the hotspot-gc-dev
mailing list