RFR 8215220: Simplify Shenandoah task termination in aborted paths
Roman Kennke
rkennke at redhat.com
Thu Dec 13 14:34:15 UTC 2018
Ok! Thanks,
Roman
> Oops, webrev was wrong.
>
> Corrected: http://cr.openjdk.java.net/~zgu/JDK-8215220/webrev.01/
>
> Thanks,
>
> -Zhengyu
>
> On Tue, 2018-12-11 at 10:41 -0500, zgu at redhat.com wrote:
>> During upstreaming ShenandoahTaskTermination and investigating
>> inconsistent termination states reported by Thomas Schatzl, I believe
>> we can simplify our termination logic.
>>
>> First, no every worker has to offer termination in aborted paths.
>> Because, once the termination is aborted, it stays aborted until
>> workers rendezvous, so workers that offered termination will see
>> aborted condition sooner or later. Even some of workers terminated in
>> succeeded state, it still does not matter, since we re-check aborted
>> flag after workers rendezvous.
>>
>> Second, JDK-8215047 does not affect this patch, since Shenandoah do
>> not
>> reuse terminator. (I tested this patch with JDK-8215047 fixes for
>> OWST
>> terminator, it passed tier1, 2, 3, shenandoah)
>>
>>
>> But this patch is quite dramatic, let's bake it for a day or two in
>> Shenandoah repo before upstreaming.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8215220
>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8215220/webrev.00/
>>
>> Test:
>> tier1, 2, 3 gc_shenandoah
>>
>> Thanks,
>>
>> -Zhengyu
More information about the shenandoah-dev
mailing list