RFR 8078490: Missed submissions in ForkJoinPool

Paul Sandoz paul.sandoz at oracle.com
Thu Apr 23 13:00:17 UTC 2015


Hi.

Please review this patch from Doug that fixes an issue where a submitted task to a f/j pool never gets executed.

  http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8078490-fj-missed-submissions/webrev/

I already counted myself and Alexey as reviewers.

The issue manifests itself under certain conditions where by a task is submitted to a ForkJoinPool of a certain size and that task is not joined. In ForkJoin.externalPush a release write is too weak and needs to be straightened to a volatile write, which stamps in a memory fence before signalling that there is work to be performed.

I anticipate Doug will provide a clearer fix at some point in the future. This fix is sufficient for now and for backporting to 8u60.

Paul.



More information about the core-libs-dev mailing list