aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorJonathan Peyton <jonathan.l.peyton@intel.com>2016-05-31 19:07:00 +0000
committerJonathan Peyton <jonathan.l.peyton@intel.com>2016-05-31 19:07:00 +0000
commitf4f969569d6c521bdde2ab89c313519d7590521f (patch)
treec245d5285066505939c25d354b40631a44753cf6 /llvm/tools/llvm-readobj/llvm-readobj.cpp
parent067325f935e3d43d4b2b6e2dbe122ba6daf35359 (diff)
downloadllvm-f4f969569d6c521bdde2ab89c313519d7590521f.zip
llvm-f4f969569d6c521bdde2ab89c313519d7590521f.tar.gz
llvm-f4f969569d6c521bdde2ab89c313519d7590521f.tar.bz2
Avoid deadlock with COI
When an asynchronous offload task is completed, COI calls the runtime to queue a "destructor task". 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. Differential Revision: http://reviews.llvm.org/D20733 llvm-svn: 271319
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
0 files changed, 0 insertions, 0 deletions