Make sure local mem alloc size atomic array is initialized with 0.
Add debug breaks to catch possible overflow on unregistering
allocations.
Related-To: NEO-11356
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Track memory used by memory allocations. System and local per device.
Will be used for heuristics in memory pooling.
Related-To: NEO-11356
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Get the local memory regions count from the primary source (MemoryInfo)
and store for further use when using DrmMemoryManager.
Add a point of dispatch (virtual `createStorageInfoFromProperties`) for
further Drm-specific customizations related to StorageInfo. As the
function became virtual, move one of its callers
(`isLocalMemoryUsedForIsa()`) from the constructor of `MemoryManager` to
respective constructors of all derivative classes. This prevents
bypassing the virtual call dispatch.
Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Replace less type-safe uint32_t and reduce conversions between both
types.
Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Added a logic to check the reset status after the completion to make
sure we go through the logic at least once
Related-To: GSD-8902
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
do not exceed system memory region size when region is available
Related-To: HSD-18038050680
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
* Derive that information from GT list
* Use it to compute local memory size given the mask of tiles to account
for
* Leverage IoctlHelper to dispatch execution (i915 vs Xe)
Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
when i915 reports gtt size between 47 and 48 bits we consider
it as 48 bit VA space
Related-To: GSD-8215
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Implemented to go through entire contexts in the process and then query
reset status to check the unexpected GPU segfault.
Added a new debug variable GpuFaultCheckThreshold to change the checking
frequency for each hang check for performance analysis.
Related-To: GSD-5673
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Enable programming pat indexes on mtl linux for device buffers.
Change DrmMemoryManager::allocateMemoryByKMD to use gemCreateExt.
Set mmap flags based on coherency.
Map as write back on legacy and coherent.
On non-coherent map as write combined.
Changes currently disabled, to enable use debug keys:
DisableGemCreateExtSetPat=0
UseGemCreateExtInAllocateMemoryByKMD=1
Reorder BufferObject to decrease padding.
Related-To: NEO-7896
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Enable programming pat indexes on mtl linux for device buffers.
Change DrmMemoryManager::allocateMemoryByKMD to use gemCreateExt.
Changes currently disabled, can be enabled with flag
DisableGemCreateExtSetPat=0
Related-To: NEO-7896
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Enable programming pat indexes on mtl linux for device buffers.
Change DrmMemoryManager::allocateMemoryByKMD to use gemCreateExt.
Related-To: NEO-7896
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
For all execution paths where needed, use `BufferObjectHandleWrapper`
instances for registration of BO-handles and try to obtain shared
ownership. This allows both sides of IPC communication to be implemented
in the same process and avoid the double-free problem on a BufferObject
of the same handle.
Currently there are two pairs of such calls:
* `zeEventPoolGetIpcHandle()` + `zeEventPoolOpenIpcHandle()`
* `zeMemGetIpcHandle()` + `zeMemOpenIpcHandle()`
The capability of executing both sides from the same process is useful
for testing but not only.
Related-To: NEO-9837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Changed NumaLibrary to read default policy instead of using
the address-based policy, and remove unnecessary argument.
Removed numaif.h from the repo as it is no longer required.
Related-To: NEO-8276
Signed-off-by: Yoon, Young Jin <young.jin.yoon@intel.com>