RFR: Two small changes to generational partial collections...
Aleksey Shipilev
shade at redhat.com
Mon Sep 11 19:06:39 UTC 2017
On 08/29/2017 03:35 PM, Aleksey Shipilev wrote:
> On 08/29/2017 03:25 PM, Christine Flood wrote:
>> Heuristics for partial gc included:
>> if (used < prev_used) {
>> // Major collection must have happened, "used" data is unreliable,
>> wait for update.
>> return false;
>> }
>>
>> Except we weren't updating prev_used after full concurrent collections so
>> we would have long dry spells with no partial collections.
>
> Hm, set_used_at_last_gc() is called from record_gc_end().
>
> Does that mean we miss record_gc_end on update-refs path? Seems to me
> VM_ShenandoahInitUpdateRefs::doit() and VM_ShenandoahFinalUpdateRefs::doit() should have the calls
> to record_gc_start / record_gc_end, like other Shenandoah VM_Ops do.
You don't need to do this part after recent change:
http://hg.openjdk.java.net/shenandoah/jdk10/hotspot/rev/230b89b8e0d6
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list