From 0c5bc58a5763d12eb8a8f0d7eaef57a16b4985ad Mon Sep 17 00:00:00 2001 From: Christophe Paquot Date: Mon, 18 Apr 2022 14:27:44 -0700 Subject: [PATCH] SWDEV-322620 - Virtual Memory Management Implement virtualFree for PAL Change-Id: I4482777fa52c979d42a7c57103862e2e02279024 [ROCm/clr commit: 4c3a20a16e114fdbb1afd7ae606943a6e4203f35] --- projects/clr/rocclr/device/pal/paldevice.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/clr/rocclr/device/pal/paldevice.cpp b/projects/clr/rocclr/device/pal/paldevice.cpp index 7eb59d64b0..c7ab6ccf3a 100644 --- a/projects/clr/rocclr/device/pal/paldevice.cpp +++ b/projects/clr/rocclr/device/pal/paldevice.cpp @@ -2262,6 +2262,11 @@ void* Device::virtualAlloc(void* addr, size_t size, size_t alignment) void Device::virtualFree(void* addr) { + amd::Memory* svmMem = amd::MemObjMap::FindMemObj(addr); + if (nullptr != svmMem && (svmMem->getMemFlags() & CL_MEM_VA_RANGE_AMD)) { + svmMem->release(); + amd::MemObjMap::RemoveMemObj(addr); + } } void Device::virtualMap(void* addr, amd::Memory& mem, size_t size)