P4 to Git Change 1367810 by gandryey@gera-w8 on 2017/01/31 19:02:27

SWDEV-112171 - [ROCm CQE][OCLonLC][QR][G] System hangs/Failures observed with few WF conf tests, due to CL#1364923
	- Make HSA copy call lock protected, due to a possible race condition and HW hangs in integer_ops long_math test

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#15 edit


[ROCm/clr commit: a7a4a6dbad]
Este commit está contenido en:
foreman
2017-01-31 19:09:43 -05:00
padre 9e93e41146
commit 01482a67c9
Se han modificado 3 ficheros con 18 adiciones y 0 borrados
@@ -616,6 +616,9 @@ bool DmaBlitManager::hsaCopy(
bool enableCopyRect,
bool flushDMA) const
{
// todo integerops long_math test exposes
// a HW hang without lock protection. note: Runtime kernel copy works fine
amd::ScopedLock k(dev().hsaCopyOps());
address src = reinterpret_cast<address>(srcMemory.getDeviceMemory());
address dst = reinterpret_cast<address>(dstMemory.getDeviceMemory());
@@ -663,6 +666,8 @@ bool DmaBlitManager::hsaCopy(
bool DmaBlitManager::hsaCopyStaged(
const_address hostSrc, address hostDst, size_t size, address staging, bool hostToDev) const
{
amd::ScopedLock k(dev().hsaCopyOps());
// No allocation is necessary for Full Profile
hsa_status_t status;
if (dev().agent_profile() == HSA_PROFILE_FULL) {