RFR 8215220: Simplify Shenandoah task termination in aborted paths

zgu at redhat.com zgu at redhat.com
Wed Dec 12 12:46:23 UTC 2018


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