RFR 8078490: Missed submissions in ForkJoinPool
paul.sandoz at oracle.com
Thu Apr 23 13:00:17 UTC 2015
Please review this patch from Doug that fixes an issue where a submitted task to a f/j pool never gets executed.
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.
More information about the core-libs-dev