RFR: Disable evac assists for Traversal
Aleksey Shipilev
shade at redhat.com
Tue Aug 14 11:05:04 UTC 2018
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
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list