SWDEV-344210 - Fixed page fault when mempool accessed from remote device

Change-Id: I759296a3177560719759f7dd8766e07664285689


[ROCm/clr commit: db35b25d3f]
Этот коммит содержится в:
Sarbojit Sarkar
2022-08-01 12:03:44 +00:00
коммит произвёл Sarbojit Sarkar
родитель 29d27cdee0
Коммит 4af3dec930
+2 -1
Просмотреть файл
@@ -135,7 +135,7 @@ void Heap::SetAccess(hip::Device* device, bool enable) {
if (mem != nullptr) {
if (!mem->getAllowedPeerAccess() && enable) {
// Enable p2p access for the specified device
peer_device->deviceAllowAccess(reinterpret_cast<void*>(mem->virtualAddress()));
peer_device->allowPeerAccess(mem);
mem->setAllowedPeerAccess(true);
} else if (mem->getAllowedPeerAccess() && !enable) {
mem->setAllowedPeerAccess(false);
@@ -180,6 +180,7 @@ void* MemoryPool::AllocateMemory(size_t size, hip::Stream* stream) {
auto vdi_device = it.first->asContext()->devices()[0];
device::Memory* mem = memory->getDeviceMemory(*vdi_device);
if ((mem != nullptr) && (it.second != hipMemAccessFlagsProtNone)) {
vdi_device->allowPeerAccess(mem);
mem->setAllowedPeerAccess(true);
}
}