RFR: Handle metadata induced GC

Aleksey Shipilev shade at redhat.com
Wed Oct 31 14:14:04 UTC 2018


On 10/31/2018 03:01 PM, Zhengyu Gu wrote:
>>
>> 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);

OK!

-Aleksey




More information about the shenandoah-dev mailing list