[all-commits] [llvm/llvm-project] 3c76e9: [OpenMP] Fix deadlock for detachable task with chi...

Joachim via All-commits all-commits at lists.llvm.org
Tue Jul 27 15:02:00 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3c76e992911afdf0cb2394e3fba3f13c17c15b26
      https://github.com/llvm/llvm-project/commit/3c76e992911afdf0cb2394e3fba3f13c17c15b26
  Author: Joachim Protze <protze at itc.rwth-aachen.de>
  Date:   2021-07-28 (Wed, 28 Jul 2021)

  Changed paths:
    M openmp/runtime/src/kmp_tasking.cpp
    A openmp/runtime/test/tasking/detach_nested_task.c

  Log Message:
  -----------
  [OpenMP] Fix deadlock for detachable task with child tasks

This patch fixes https://bugs.llvm.org/show_bug.cgi?id=49066.

For detachable tasks, the assumption breaks that the proxy task cannot have
remaining child tasks when the proxy completes.
In stead of increment/decrement the incomplete task count, a high-order bit
is flipped to mark and wait for the incomplete proxy task.

Differential Revision: https://reviews.llvm.org/D101082




More information about the All-commits mailing list