RFR: Degenerated GC mode for Traversal

Aleksey Shipilev shade at redhat.com
Tue Mar 27 09:53:48 UTC 2018


On 03/21/2018 02:04 PM, Roman Kennke wrote:
> http://cr.openjdk.java.net/~rkennke/traversal-degen/webrev.01/

Looks okay.

Questions:

 *) Commented out line L1669? Why do you need to clear cancellation at L1672? It is cleared right
after entering op_degenerated(), and any cancellation raised during degen-traverse should probably
upgrade to Full GC?

1669       // set_evacuation_in_progress_at_safepoint(false);
1670       op_final_traversal();
1671       op_cleanup_bitmaps();
1672       clear_cancelled_concgc();
1673       return;

 *) In service_concurrent_traversal_cycle, why do we need this check? I thought that coming out with
cancellation from final_traversal means we have the failure during degen, and it should upgrade to
Full GC right away?

 275   if (heap->is_concurrent_traversal_in_progress()) {
 276     if (check_cancellation_or_degen(ShenandoahHeap::_degenerated_traversal)) return;
 277   }

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list