RFR: Disable evac assists for Traversal

Roman Kennke rkennke at redhat.com
Tue Aug 14 11:10:25 UTC 2018


Am 14.08.2018 um 13:05 schrieb Aleksey Shipilev:
> Hopefully the comment describes the intent properly:
> 
> diff -r 6e8095443caa src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp
> --- a/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp      Tue Aug 14
> 11:54:02 2018 +0200
> +++ b/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp      Tue Aug 14
> 12:58:02 2018 +0200
> @@ -44,10 +44,15 @@
>    // Adjust class unloading settings only if globally enabled.
>    if (ClassUnloadingWithConcurrentMark) {
>      SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahUnloadClassesFrequency, 1);
>    }
> 
> +  // Traversal evacuates live objects in traversal order, and evac assists play
> +  // against that. Additionally, traversal may over-estimate the collection set,
> +  // and that would mean spending more time in assist paths, which penalizes
> +  // evacuation path latency.
> +  SHENANDOAH_ERGO_OVERRIDE_DEFAULT(ShenandoahEvacAssist, 0);
>  }
> 
>  bool ShenandoahTraversalHeuristics::should_start_normal_gc() const {
>    return false;
>  }
> 
> Testing: tier1_gc_shenandoah, benchmarks
> 

The patch is ok.

Have benchmarks shown this to be adversarial?

Roman




More information about the shenandoah-dev mailing list