RFR: Handle metadata induced GC
Zhengyu Gu
zgu at redhat.com
Wed Oct 31 14:01:35 UTC 2018
>
> Actually, not OK. After this change, SPECjbb dives into never-ending cycle of Full GC right away.
>
Leftover explicit gc flag causes it to dive into full gc:
diff -r b6406cc37101
src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Tue
Oct 30 17:17:00 2018 +0100
+++ b/src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp Wed
Oct 31 08:48:41 2018 -0400
@@ -85,7 +85,7 @@
// Figure out if we have pending requests.
bool alloc_failure_pending = _alloc_failure_gc.is_set();
bool has_requested_gc = _gc_requested.is_set();
- bool explicit_gc_requested = is_explicit_gc(_requested_gc_cause);
+ bool explicit_gc_requested = has_requested_gc &&
is_explicit_gc(_requested_gc_cause);
// This control loop iteration have seen this much allocations.
size_t allocs_seen = Atomic::xchg<size_t>(0, &_allocs_seen);
Test:
tier3_gc_shenandoah (release and fastdebug)
specjbb eyeballed composite.out
Thanks,
-Zhengyu
> -Aleksey
>
More information about the shenandoah-dev
mailing list