RFR: 8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC

Luo, Ziyi luoziyi at amazon.com
Wed Aug 19 17:04:42 UTC 2020

Hi Stefan,

Thank you for looking into this patch.

On 8/19/20, 4:10 AM, Stefan Johansson wrote:

> Hi Ziyi,
> Thanks for finding this issue and fixing it. The idea for the fix is
> very easy, take eager reclaim into consideration when deciding the
> allocation rate for old. Reading the patch and fully understand the
> calculations was a bit harder. Trying to explain what I would like to
> see to make it easier to follow is hard. So I've made a proposal that
> can be applied upon your changes.
> Inc: http://cr.openjdk.java.net/~sjohanss/8245511/rev1.inc/
> Full: http://cr.openjdk.java.net/~sjohanss/8245511/rev1.full/
> Hopefully I did not miss anything that your patch covers that is missing
> from this proposal. I'll summarize what I did:
> * Keep track of humongous and non-humongous allocations independently to
> simplify calculations in reset_after_gc().
> * Calculate the old generation growth in reset_for_gc(), this avoids
> saving an additional value and if I'm not missing anything we have all
> information we need at this point.

I really don't like the name humongous_bytes_after_penultimate_gc. Thank you 
for helping me get rid of it :)

> * The growth is calculated by adding the non-humongous allocations
> during the last mutator period with a potential increase in humongous size.
> * Added _gen to two members to make it clear this is the whole old
> generation not only old regions.
> Does these changes all sound good? Let me know what you think.

I like how you reshaped the code structure especially how you deconstructed 
the net_survived_old_bytes in a clearer fashion. This saves a lot of comments 
to explain the net survived old bytes calculation (now 
last_period_old_gen_growth). The change looks good to me.

> I tried running your repro from the bug-report and it seem to be
> working, but please try this out and make sure it works in your
> use-cases as well.
> Our internal testing looks good so far.

My local tests look good as well.


More information about the hotspot-gc-dev mailing list