set free mem to zero avoding underflow

Change-Id: I964b41695fb41712624146c5959a35b37eacf52d


[ROCm/clr commit: 90c694988b]
Этот коммит содержится в:
Satyanvesh Dittakavi
2020-09-16 14:14:13 +00:00
родитель 873ab65331
Коммит c667dc6fa0
+10
Просмотреть файл
@@ -1818,6 +1818,16 @@ void Device::updateFreeMemory(size_t size, bool free) {
freeMem_ += size;
}
else {
if (size > freeMem_) {
// To avoid underflow of the freeMem_
// This can happen if the free mem tracked is inaccurate, as some allocations can happen
// directly via ROCr
ClPrint(amd::LOG_ERROR, amd::LOG_ALWAYS,
"Free memory set to zero on device 0x%lx, requested size = 0x%x, freeMem_ = 0x%x",
this, size, freeMem_.load());
freeMem_ = 0;
return;
}
freeMem_ -= size;
}
ClPrint(amd::LOG_INFO, amd::LOG_MEM, "device=0x%lx, freeMem_ = 0x%x", this, freeMem_.load());