SWDEV-522707 - Set phys_mem_handle type to sizeof(size_t) to avoid blocking address range. (#105)

Этот коммит содержится в:
Jayaprakash, Karthik
2025-04-29 01:49:16 -04:00
коммит произвёл GitHub
родитель b2388dfb88
Коммит 6811fd90b8
2 изменённых файлов: 11 добавлений и 1 удалений
+4
Просмотреть файл
@@ -788,6 +788,10 @@ bool Buffer::create(bool alloc_local) {
return false;
}
// Update the size of memory object to size of handle, since the setting the size to the actual
// physical memory allocated would block the address range during amd::MemObjMap::FindMemObj()
// lookup. This might cause address range issue in virtual address space.
owner()->UpdatePhysMemSize();
owner()->setSvmPtr(reinterpret_cast<void*>(owner()->getUserData().hsa_handle));
return true;
+7 -1
Просмотреть файл
@@ -254,7 +254,6 @@ class Memory : public amd::RuntimeObject {
//! Initializes the device memory array
virtual void initDeviceMemory();
void setSize(size_t size) { size_ = size; }
void setInteropObj(InteropObject* obj) { interopObj_ = obj; }
@@ -339,6 +338,13 @@ class Memory : public amd::RuntimeObject {
Flags getMemFlags() const { return flags_; }
Type getType() const { return type_; }
//! Update phys mem size to the handle, only when the ROCCLR_MEM_PHYSMEM flag is set.
void UpdatePhysMemSize() {
if (flags_ & ROCCLR_MEM_PHYMEM) {
size_ = sizeof(getUserData().hsa_handle);
}
}
const Device* getLastWriter() { return lastWriter_; }
const HostMemoryReference* getHostMemRef() const { return &hostMemRef_; }
void* getHostMem() const { return hostMemRef_.hostMem(); }