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

Mikael Gerdin mikael.gerdin at oracle.com
Thu Nov 5 12:54:45 UTC 2015


On 2015-11-05 13:53, Thomas Schatzl wrote:
> 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.

Ok, good!

/Mikael

>
> 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