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
Tá an tiomantas seo le fáil i:
foreman tiomanta 2017-12-11 11:59:15 -05:00
1 tuismitheoir e9cf35309d
tiomantas 175f01c420
1 comhad athraithe
+6 -3
+6 -3
Féach ar an gComhad
@@ -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,