diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2016-05-31 19:07:00 +0000 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2016-05-31 19:07:00 +0000 |
commit | f4f969569d6c521bdde2ab89c313519d7590521f (patch) | |
tree | c245d5285066505939c25d354b40631a44753cf6 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | 067325f935e3d43d4b2b6e2dbe122ba6daf35359 (diff) | |
download | llvm-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