[Openmp-commits] [PATCH] D20733: Avoid deadlock with COI

Jonathan Peyton via Openmp-commits openmp-commits at lists.llvm.org
Fri May 27 08:48:16 PDT 2016


jlpeyton created this revision.
jlpeyton added reviewers: AndreyChurbanov, tlwilmar.
jlpeyton added a subscriber: openmp-commits.
jlpeyton set the repository for this revision to rL LLVM.

When an asynchronous offload task is completed, COI calls the runtime to queue a "destructor tasks".  When the task deques are full, a dead-lock situation arises where the OpenMP threads are inside but cannot progress because the COI thread is stuck inside the runtime trying to find a slot in a deque.

This patch implements the solution where the task deques doubled in size when a task is being queued from a COI thread.

Repository:
  rL LLVM

http://reviews.llvm.org/D20733

Files:
  runtime/src/kmp.h
  runtime/src/kmp_debugger.c
  runtime/src/kmp_omp.h
  runtime/src/kmp_tasking.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20733.58785.patch
Type: text/x-patch
Size: 11733 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20160527/2f953184/attachment.bin>


More information about the Openmp-commits mailing list