P4 to Git Change 1492748 by gandryey@gera-w8 on 2017/12/11 11:53:55
SWDEV-139828 - [OCL] OCL runtime hang in multithread app - This issue is a regression after Davinci optimizations. Execution lock should be applied for the engine's wait only, since the resource cache has own lock protection that can conflict with the execution lock Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#65 edit
此提交包含在:
@@ -2716,9 +2716,12 @@ bool VirtualGPU::waitAllEngines(CommandBatch* cb) {
|
||||
}
|
||||
|
||||
void VirtualGPU::waitEventLock(CommandBatch* cb) {
|
||||
// Make sure VirtualGPU has an exclusive access to the resources
|
||||
amd::ScopedLock lock(execution());
|
||||
bool earlyDone = waitAllEngines(cb);
|
||||
bool earlyDone = false;
|
||||
{
|
||||
// Make sure VirtualGPU has an exclusive access to the resources
|
||||
amd::ScopedLock lock(execution());
|
||||
earlyDone = waitAllEngines(cb);
|
||||
}
|
||||
|
||||
// Free resource cache if we have too many entries
|
||||
//! \note we do it here, when all engines are idle,
|
||||
|
||||
新增問題並參考
封鎖使用者