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
correct.
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,
Thomas
More information about the hotspot-gc-dev
mailing list