Revert "fix: Force Close of IPC handles at memFree"
This reverts commit e1c3cb5ecd
.
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:
parent
29682a4f8d
commit
59c8e8f019
|
@ -403,25 +403,22 @@ ze_result_t ContextImp::freeMem(const void *ptr, bool blocking) {
|
|||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
for (auto pairDevice : this->devices) {
|
||||
this->freePeerAllocations(ptr, blocking, Device::fromHandle(pairDevice.second));
|
||||
}
|
||||
this->driverHandle->svmAllocsManager->freeSVMAlloc(const_cast<void *>(ptr), blocking);
|
||||
|
||||
std::map<uint64_t, IpcHandleTracking *>::iterator ipcHandleIterator;
|
||||
auto lockIPC = this->lockIPCHandleMap();
|
||||
ipcHandleIterator = this->getIPCHandleMap().begin();
|
||||
while (ipcHandleIterator != this->getIPCHandleMap().end()) {
|
||||
if (ipcHandleIterator->second->ptr == reinterpret_cast<uint64_t>(ptr)) {
|
||||
auto *memoryManager = driverHandle->getMemoryManager();
|
||||
memoryManager->closeInternalHandle(ipcHandleIterator->second->ipcData.handle, ipcHandleIterator->second->handleId, ipcHandleIterator->second->alloc);
|
||||
delete ipcHandleIterator->second;
|
||||
this->getIPCHandleMap().erase(ipcHandleIterator->first);
|
||||
break;
|
||||
}
|
||||
ipcHandleIterator++;
|
||||
}
|
||||
|
||||
for (auto pairDevice : this->devices) {
|
||||
this->freePeerAllocations(ptr, blocking, Device::fromHandle(pairDevice.second));
|
||||
}
|
||||
this->driverHandle->svmAllocsManager->freeSVMAlloc(const_cast<void *>(ptr), blocking);
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -72,29 +72,6 @@ TEST_F(MemoryIPCTests,
|
|||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
}
|
||||
|
||||
TEST_F(MemoryIPCTests,
|
||||
givenCallToGetIpcHandleWithDeviceAllocationAndCallToMemFreeThenIPCHandleIsClosed) {
|
||||
size_t size = 10;
|
||||
size_t alignment = 1u;
|
||||
void *ptr = nullptr;
|
||||
|
||||
ze_device_mem_alloc_desc_t deviceDesc = {};
|
||||
ze_result_t result = context->allocDeviceMem(device->toHandle(),
|
||||
&deviceDesc,
|
||||
size, alignment, &ptr);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_NE(nullptr, ptr);
|
||||
|
||||
ze_ipc_mem_handle_t ipcHandle;
|
||||
result = context->getIpcMemHandle(ptr, &ipcHandle);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
||||
result = context->freeMem(ptr);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
||||
EXPECT_EQ(0u, context->getIPCHandleMap().size());
|
||||
}
|
||||
|
||||
TEST_F(MemoryIPCTests,
|
||||
givenCallToGetIpcHandleWithDeviceAllocationAndCallToGetFdFromIpcHandleThenIPCHandleReturned) {
|
||||
size_t size = 10;
|
||||
|
|
|
@ -72,29 +72,6 @@ TEST_F(MemoryIPCTests,
|
|||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
}
|
||||
|
||||
TEST_F(MemoryIPCTests,
|
||||
givenCallToGetIpcHandleWithDeviceAllocationAndCallToMemFreeThenIPCHandleIsClosed) {
|
||||
size_t size = 10;
|
||||
size_t alignment = 1u;
|
||||
void *ptr = nullptr;
|
||||
|
||||
ze_device_mem_alloc_desc_t deviceDesc = {};
|
||||
ze_result_t result = context->allocDeviceMem(device->toHandle(),
|
||||
&deviceDesc,
|
||||
size, alignment, &ptr);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_NE(nullptr, ptr);
|
||||
|
||||
ze_ipc_mem_handle_t ipcHandle;
|
||||
result = context->getIpcMemHandle(ptr, &ipcHandle);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
||||
result = context->freeMem(ptr);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
||||
EXPECT_EQ(0u, context->getIPCHandleMap().size());
|
||||
}
|
||||
|
||||
TEST_F(MemoryIPCTests,
|
||||
givenMultipleCallsToGetIpcHandleWithDeviceAllocationAndCallsToPutIpcHandleThenIpcHandleIsReturnedAndReleased) {
|
||||
size_t size = 10;
|
||||
|
|
Loading…
Reference in New Issue