RFR(S) 8225813: Shenandoah: Obsolete ShenandoahSuspendibleWorkers flag, as suspendible workers are required

Zhengyu Gu zgu at redhat.com
Sun Jun 16 02:11:02 UTC 2019



On 6/15/19 9:26 PM, Zhengyu Gu wrote:
> On 6/15/19 3:35 PM, Roman Kennke wrote:
>> Can you give a little bit of explanation why workers need to be
>> suspended at safepoints for concurrent root processing?
> 
> Concurrent processing uses workers and safepoint parallel task also 
> utilizes workers, and shenandoah shares workers, so they can not overlap.

Should be more articulate. I don't mean GC safepoint parallel tasks, 
which can not overlap. But the tasks, such as, heap iteration that might 
utilize workers.

Also, heap iteration walks CLDG at a safepoint, that may interfere CLDG 
walking during concurrent CLDG evacuation.

-Zhengyu

> 
> 
> -Zhengyu
> 
>>
>> Other than that, the patch looks good.
>>
>> Roman
>>
>>> Please review this patch that makes suspendible workers required,
>>> instead of optional, and obsoletes the corresponding flag.
>>>
>>> Suspendible workers are required for concurrent root processing.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8225813
>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8225813/webrev.00/index.html
>>>
>>> Test:
>>>    hotspot_gc_shenandoah (fastdebug and release)
>>>
>>> Thanks,
>>>
>>> -Zhengyu
>>



More information about the hotspot-gc-dev mailing list