[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.).



More information about the Openmp-commits mailing list