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

Change-Id: I759296a3177560719759f7dd8766e07664285689


[ROCm/clr commit: db35b25d3f]
Цей коміт міститься в:
Sarbojit Sarkar authored and Sarbojit Sarkar committed 2022-08-11 00:02:29 -04:00
1 джерело 29d27cdee0
коміт 4af3dec930
1 file changed
+2 -1
+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);
}
}