[Openmp-commits] [PATCH] D21196: Excluded untied tasks from task stealing constraint

Paul Osmialowski via Openmp-commits openmp-commits at lists.llvm.org
Sat Oct 22 04:19:27 PDT 2016


pawosm01 reopened this revision.
pawosm01 added a comment.
This revision is now accepted and ready to land.

Regression found. See comment in line 1754.



================
Comment at: openmp/trunk/runtime/src/kmp_tasking.c:1754
         }
-        if ( parent != current ) {
+        if ( parent != current && (taskdata->td_flags.tiedness == TASK_TIED) ) { // untied is always allowed to be stolen
             // If the tail task is not a child, then no other childs can appear in the deque (?).
----------------
This line causes race condition which leads to occasional livelock in strassen_taskdep benchmark from Kastors suite (a benchmark that heavily uses task dependencies). Could be replicated on AArch64 and x86_64, typically working on odd number of cores (5, 7, etc.).



Repository:
  rL LLVM

https://reviews.llvm.org/D21196





More information about the Openmp-commits mailing list