RFR (S): 8140597: Forcing an initial mark causes G1 to abort mixed collections

Thomas Schatzl thomas.schatzl at oracle.com
Thu Nov 5 12:53:55 UTC 2015

Hi Mikael,

On Thu, 2015-11-05 at 13:50 +0100, Mikael Gerdin wrote:
> Hi Thomas,
> On 2015-11-05 10:06, Thomas Schatzl wrote:
> > All other changes are comments, asserts and a minor cleanup in
> > whitebox.cpp.
> >
> > CR:
> > https://bugs.openjdk.java.net/browse/JDK-8140597
> > Webrev:
> > http://cr.openjdk.java.net/~tschatzl/8140597/webrev
> > Testing:
> > jprt, manual verification of correct state transitions, vm.gc testlist
> I think this change makes sense in general and from my understanding we 
> will not skip an initial mark but rather we will delay it until it's 
> appropriate to start a new cycle.
> This is because we only clear initiate_conc_mark_if_possible
> if (!about_to_start_mixed_phase() && collector_state()->gcs_are_young())
> Given that my understanding is correct, Looks good :)

I maybe have not made that clear enough, but yes, this understanding is

This one is really important for adaptive IHOP, as it's not really fun
to see reclamation being interrupted and so not being able to reclaim
enough memory (note:it's not the only reason why mixed gc might stop too
early), marking being restarted, and then running into a full gc because
that is way too late...

Thanks for the review,

More information about the hotspot-gc-dev mailing list