Commit Graph

686 Commits

Author SHA1 Message Date
Patryk Wrobel
18cafd3a52 Implement GPU hang detection on Windows
This change uses value of cpuAddress from monitored fence
to detect GPU hang.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-09 17:22:52 +01:00
Bartosz Dunajski
61ca84e94b Pass memory placement info to StorageInfo
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-09 16:55:32 +01:00
Daniel Chabrowski
85eb6d7403 [CP-1] Extend CLOS cache mechanism for DRM allocation
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-09 16:51:48 +01:00
Bartosz Dunajski
abd90308f3 CacheSettingsHelper - heaps support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-09 10:29:48 +01:00
Bartosz Dunajski
a95198521e Initial implementation of CacheSettingsHelper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-08 16:18:06 +01:00
Bartosz Dunajski
c88fce0def Gmm construction cleanup
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-08 10:20:24 +01:00
Milczarek, Slawomir
f02b6cd521 Dont print errno for BO binding result after success
Fixes incorrect errors reported for bind and unbind operations
in printfs activated with the debug key PrintBOBindingResult.

Related-To: NEO-5869

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-02-07 11:33:36 +01:00
Bartosz Dunajski
4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Daniel Chabrowski
f2c4231a27 Extend DRM mock and queryTopology tests - part 1
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-04 12:02:49 +01:00
Mateusz Jablonski
1671e0a1a7 Add new debug flags for filtering devices to open
FilterBdfPath is used only on Linux as a filter for BDF
when opening from /dev/dri/by-path

FilterDeviceId is used on both OSes as a filter for device id

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-03 14:34:01 +01:00
Mateusz Hoppe
4d8d2412f9 Add subslice ID remapping for single slice configs
Related-To: NEO-6565

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-01 16:38:57 +01:00
Milczarek, Slawomir
2be98a1e62 Create kmd migrated allocation with initial placement
Implements ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT
for zeMemAllocShared with KMD migrated allocation.

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-02-01 15:42:10 +01:00
Szymon Morek
d9886f67ee Make IoctlHelper member of Drm
Related-To: NEO-6575

This is needed to fix accessing IoctlHelper
after driver detach.
This way we are also reducing accessing
sysfs file in Drm::getPrelimVersion

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-02-01 08:26:59 +01:00
Mateusz Jablonski
f45fadf89b Add cmake flag to disable i915 prelim headers detection
Related-To: NEO-6625
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-01-31 16:48:30 +01:00
Patryk Wrobel
498cf5e871 Implement GPU hang detection
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-31 13:48:17 +01:00
Spruit, Neil R
ae77bd1bd2 Enable Device Memory to be shared in WSL-2 with L0
- Add getMemoryManagerType to check which memory manager has been init
to determine if Linux + WDDM memory manager is in use.
- Add isNTHandle to test and verify if a handle is an NT handle during
L0 Open IPC Handle.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-01-27 23:14:29 +01:00
Kamil Diedrich
d2fbcc1960 Updating wsl compute helper tokens and enbaling local memory
Adding tokens needed for DG2 local mem enabling in WSL
Enabling local memory for DG2 for WSL

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-01-27 14:26:24 +01:00
Bartosz Dunajski
72edadb265 Remove not used GT type info
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-01-26 18:06:38 +01:00
Lukasz Jobczyk
44596f6e4d Revert "Improve mmap logic in createAllocWithAlignment"
This reverts commit adb5c58292165f1d5a144548c5d5148021d2152e.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-01-26 08:52:12 +01:00
Michal Mrozek
6df17f5a30 [3/n] Optimize indirect allocations handling.
Add new debug variable to trigger new mode.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-25 16:40:56 +01:00
Filip Hazubski
0424f30782 Improve mmap logic in createAllocWithAlignment
Group small allocations and reuse mapped memory in order to keep map
count small.

Related-To: NEO-6417

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-01-25 15:30:29 +01:00
Lukasz Jobczyk
9330f737d4 Revert "Check if direct submission available once"
This reverts commit 7ab6d2801a.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-01-25 10:01:15 +01:00
Filip Hazubski
2dc54f6fd9 Update isLinuxCompletionFenceSupported value for XE HPG CORE
Related-To: NEO-6575

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-01-24 14:58:17 +01:00
Filip Hazubski
170fd00d24 Improve mmap logic in createAllocWithAlignment
Unmap trailing extra memory right away.

Related-To: NEO-6417

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-01-21 14:16:27 +01:00
Zbigniew Zdanowicz
a7455b5767 Add tweaks and control flags to linux completion fence
Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-21 13:41:23 +01:00
Zbigniew Zdanowicz
ec40b6562e Add unit tests for completion fence
Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-20 21:15:34 +01:00
Fabian Zwolinski
d9bf1886c2 Remove GMock from GMockMemoryManagerFailFirstAllocation, GMockMemoryManager...
Removed GMock from
- GMockMemoryManagerFailFirstAllocation
- GMockMemoryManager
- TestEventCsr
- MockKmdNotifyCsr
- MockMemoryOperationsHandlerTests
- GmockGmmMemory
- MockMemoryManagerCommandQueueSBA
- TestCmdQueueCsr

Renamed:
- GMockMemoryManagerFailFirstAllocation -> MockMemoryManagerFailFirstAllocation

Moved class body:
- GMockMemoryManager to MockMemoryManager
- GmockGmmMemory to MockGmmMemoryBase

Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-01-20 16:08:34 +01:00
Zbigniew Zdanowicz
d44f3009b8 Add interface for user fence extension
Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-19 19:58:22 +01:00
Kamil Diedrich
1b7949432f Add shareable allocation on windows dGPUs
Add default initialization for object members

Related-To: LOCI-2665

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-01-19 19:03:18 +01:00
Zbigniew Zdanowicz
03366f11d2 move aub test suite to shared tests executable
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-17 12:24:03 +01:00
Szymon Morek
4fc365acca Create EngineInfo without MemoryInfo
Allow to create EngineInfo even if memoryInfo is
nullptr.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-13 10:03:34 +01:00
Raiyan Latif
394c0e90e1 Return error when failing on submission
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-01-12 16:42:30 +01:00
Fabian Zwolinski
44ebe800df Move MockWddm body to WddmMock
This commit cleans the code after previously removed GMock from the
MockWddm(GmockWddm) class by merging MockWddm class into WddmMock.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-01-12 16:08:46 +01:00
Krystian Chmielewski
af7cb3ff35 Test closing GEM worker is blocking during cleanup
Added test checking if closing GEM worker during
DRM memory manager clean up is blocking.

Related-To: NEO-6213

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-01-12 12:48:05 +01:00
Filip Hazubski
429fa1fbdd Delay releasing memory in createAllocWithAlignment
When padding memory is needed, store it and release only when
the related allocation is being released.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-01-11 20:02:43 +01:00
Szymon Morek
26a24e8fde Query engine info with distances
If prelim kernel is being used, query distances
and set correctly number of available engines

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-10 13:30:26 +01:00
Spruit, Neil R
02f075c541 Power Saving Hint Support for Level Zero in Windows
- Added Functionality to pass ze_power_saving_hint_type_t to zeContextCreate
included in the pNext extensions in ze_context_desc_t.
- Enables handling a hint value 0-100 with 0 being no power savings
and 100 being maximum power savings.
- ZE_RESULT_ERROR_INVALID_ENUMERATION is returned given an invalid hint.

Related-To: LOCI-2567

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-01-06 23:56:59 +01:00
Kamil Diedrich
8ec74558ea Temporarily disabling local memory for DG2 in WSL
Forcing system memory pool for all allocations in WSL for DG2
while local memory support is being implemented

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-01-06 11:15:25 +01:00
Fabian Zwolinski
1d48e97649 Remove GMock from MockAubCsr, GmockAubFileStream, AsyncEventsHandlerTests...
GMock Removed from:
- MockAubCsr
- GmockAubFileStream
- AsyncEventsHandlerTests
- AsyncEventsHandlerTests::MyEvent
- MockGmmPageTableMngr
- GmockWddm

Additionally:
- GmockAubFileStream body moved to MockAubFileStream class
- Deleted unused GmockAubFileStream class
- Deleted NiceMocks from AsyncEventsHandlerTests
- Renamed GmockWddm to MockWddm

Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-01-05 14:45:13 +01:00
Szymon Morek
6258575e5e Use queryEngineInfo with prelim ioctls
If prelim kernel is being used, query engines
with prelim ioctls.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-04 12:15:04 +01:00
Zbigniew Zdanowicz
0cbc320e57 Move memory fixtures to shared
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-03 16:47:02 +01:00
Lukasz Jobczyk
7ab6d2801a Check if direct submission available once
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-31 11:53:29 +01:00
Zbigniew Zdanowicz
2047fc88f9 Move execution environment helper to shared
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-31 11:36:44 +01:00
Szymon Morek
5be9d2d584 Add assignRegionsFromDistances logic
If prelim kernel is being used, use distances
logic to assign memory regions.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-30 17:48:16 +01:00
Lukasz Jobczyk
b5ffad2fec Revert "Check if direct submission available once"
This reverts commit 70a7840da3.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 10:31:00 +01:00
Szymon Morek
e07b27c0e2 Allow to query memory info with prelim ioctl
If prelims are supported, query memory info with
specific ioctl.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-29 10:21:23 +01:00
Szymon Morek
694046d30e Remove C-style casts when casting to osHandle
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-28 11:11:49 +01:00
Szymon Morek
d9f6757378 Change return type from unique_ptr to vector
In some of the drm functions there is a pattern
to store array in unique_ptr and pass it's length
as an argument. This commit simplifies this.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-28 10:33:53 +01:00
Lukasz Jobczyk
70a7840da3 Check if direct submission available once
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 18:00:46 +01:00
Zbigniew Zdanowicz
b6da6471f2 Add notify parameter to direct submission post sync operations
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-23 17:35:48 +01:00