SWDEV-384557 - Do not fall back to compute

- Use regular copy API if we exhaust free SDMA engines and not fall back
to compute copy. Falling to compute is affecting performance for
numerous apps that are GPU bound

Change-Id: I75c767eff0b9f5ada324301c5c327fe2c23a9806
This commit is contained in:
Saleel Kudchadker
2023-05-18 11:39:36 -07:00
parent 06df9e2efd
commit 60d9a4ebab
+6 -1
View File
@@ -679,6 +679,7 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
uint32_t copyMask = 0;
uint32_t freeEngineMask = 0;
bool useRegularCopyApi = false;
HwQueueEngine engine = HwQueueEngine::Unknown;
if ((srcAgent.handle == dev().getCpuAgent().handle) &&
@@ -719,8 +720,12 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
if (status != HSA_STATUS_SUCCESS) {
gpu().Barriers().ResetCurrentSignal();
}
} else {
useRegularCopyApi = true;
}
} else {
}
if (engine == HwQueueEngine::Unknown || useRegularCopyApi) {
auto wait_events = gpu().Barriers().WaitingSignal(engine);
hsa_signal_t active = gpu().Barriers().ActiveSignal(kInitSignalValueOne, gpu().timestamp());
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,