Commit Graph

1682 Commits

Author SHA1 Message Date
Maciej Bielski
134c718a25 fix: support zeEventPool IPC handles from single process
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>
2024-01-19 14:49:38 +01:00
Mateusz Jablonski
93e941fd73 refactor: simplify engine mapping array
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-19 12:51:12 +01:00
Mateusz Jablonski
028a5ee2fc fix: correct calculating highest enabled dual subslice
when no DSS is exposed then calculate highest enabled subslice instead

Related-To: NEO-9614
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-19 10:48:15 +01:00
Yoon, Young Jin
9c7578f5f4 fix: change numa_library to read default policy
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>
2024-01-19 08:31:41 +01:00
Yoon, Young Jin
a084b1cf42 fix: change numa library string for SLES
Modified libnuma.so.1 to be loaded instead of libnuma.so for
SLES compatibility

Related-To: NEO-8276
Signed-off-by: Yoon, Young Jin <young.jin.yoon@intel.com>
2024-01-19 08:22:17 +01:00
Kacper Nowak
c238f731af fix: Skip mapping copy engines for unsupported ones
Based on the info retrieved from product helper, skip mapping returned
copy engines from KMD to disabled ones.
- Unify logic for EngineInfo ctors (remove redundant code).
Related-To: NEO-8356
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2024-01-18 09:49:14 +01:00
Brandon Yates
976d112188 performance: optimize copy in allocateDebugMetadata
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-18 08:07:02 +01:00
Jitendra Sharma
aa191b6f88 feature: Set runalone mode for contexts with online debugging
Related-To: NEO-9139

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-01-17 09:01:30 +01:00
Warchulski, Jaroslaw
f7dc17e6a2 fix: set mmapPtr in every allocation in multiGraphicAllocation
Related-To: GSD-7360
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2024-01-16 15:18:44 +01:00
Naklicki, Mateusz
a28a2d305e fix: align NEO code to new uAPI header
PMU is removed from XeKMD as it is likely to change in the future.

Related-To: NEO-8324

Co-authored-by: Francois Dugast <francois.dugast@intel.com>
Co-authored-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-01-16 13:36:32 +01:00
Mateusz Jablonski
7b40b01f54 feature: add debug key for toggling bit in 57bit GPU VA for specific allocations
Related-To: NEO-9419
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-15 19:37:00 +01:00
Dominik Dabek
997bdfa010 performance: add windows thread priority debug key
Set windows thread priority to "above normal" on wddm init if flag is
set.

Related-To: NEO-8215

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-15 08:14:46 +01:00
Compute-Runtime-Validation
9b0c64abef Revert "performance: Enable ULLS on WSL"
This reverts commit 42c2b6b0e2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-15 06:08:44 +01:00
Dominik Dabek
b3b402cad2 feature(zebin): read indirect detection version
Read indirect detection version intel compat notes from zebin.

This is to prepare for enabling indirect access optimization in AOT
built kernels.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-12 14:20:52 +01:00
Lukasz Jobczyk
42c2b6b0e2 performance: Enable ULLS on WSL
Related-To: NEO-10037

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-12 12:03:53 +01:00
Brandon Yates
ba0db2488a refactor: Implement Xe Resoure Registration (2/x)
Refactor drm_debug.cpp into IoctlHelper

Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-11 08:26:29 +01:00
Brandon Yates
d3baab00db feature: Register resources for Xe at vm creation (1/x)
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.

Related-to: NEO-9161
Signed-off-by: Brandon Yatse <brandon.yates@intel.com>
2024-01-11 08:15:50 +01:00
Mateusz Hoppe
31edeb0765 feature: set HP flag when creating HardwareContextController
- for highPriority context

Related-To: NEO-7824

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-01-10 12:46:29 +01:00
Katarzyna Cencelewska
5d2d3ed899 refactor: modify sip kernel helpers
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-01-09 17:09:10 +01:00
Compute-Runtime-Validation
46d860b2bf Revert "feature: Register resources for Xe at vm creation (1/x)"
This reverts commit e1fefd1974.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-09 11:36:00 +01:00
Brandon Yates
e1fefd1974 feature: Register resources for Xe at vm creation (1/x)
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.

Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-08 13:36:24 +01:00
Lukasz Jobczyk
7b8abd8fff fix: pass GMM to Drm::getPatIndex
Related-To: NEO-9543

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-08 09:14:14 +01:00
Dominik Dabek
9b52d52062 performance(ocl): enable usm pool allocator
Enable on xe hpg and lpg platforms

Related-To: NEO-9700

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-05 16:17:48 +01:00
Lukasz Jobczyk
add394722c fix: Create GMM in DrmMemoryManager::createAllocWithAlignment
Resolves: NEO-9739
Related-To: NEO-9543

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-05 13:17:11 +01:00
Young Jin Yoon
4ccae1dbb4 feature: support memory policy for GEM_CREATE
Modified ioctl_helper_prelim to support the extension of gem_create_ext,
i.e. prelim_drm_i915_gem_create_ext_mempolicy.

Added two debug variables to be used for the mempolicy extension.

Modified functions in memory_info and drm_memory_manager to support extension

Added numaif.h from https://github.com/numactl/numactl/tree/master,
v2.0.14

Related-To: NEO-8276
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-01-04 23:49:10 +01:00
Maciej Plewka
3970f1bc4c fix: create hwQueue when reinitialize osContext
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-9877
2024-01-04 12:46:36 +01:00
Mateusz Hoppe
31e9b5e9fa feature: add support for secondary contexts in group
Related-To: NEO-7824

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-12-28 13:31:08 +01:00
Mateusz Jablonski
d8f6551b6b refactor: move i915 ioctl helper to dedicated file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-28 12:01:18 +01:00
Mateusz Jablonski
72a999599f refactor: remove i915 dependency from xe ioctl helper
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-28 09:29:27 +01:00
John Falkowski
138f22f684 fix: correct calculation for chunking size
Resolves: NEO-9562

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-12-27 16:27:09 +01:00
Mateusz Jablonski
368070069e refactor: remove intel_hwconfig_types file from third party
remove not needed querying of vs/hs/ds/ps/gs threads

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-27 15:32:23 +01:00
Naklicki, Mateusz
4fa6368c01 fix: cast param to proper datatype width
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-12-27 09:23:19 +01:00
Compute-Runtime-Validation
341a13ce8e Revert "performance: Limit tlb flush WA scope on DG2 Linux"
This reverts commit fa181937a4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-24 08:17:39 +01:00
Naklicki, Mateusz
611b847d19 fix: align NEO code to new uAPI header
Related-To: NEO-8324

Co-authored-by: Francois Dugast <francois.dugast@intel.com>
Co-authored-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-12-22 17:36:55 +01:00
Naklicki, Mateusz
08f7e7be18 fix: align NEO to new Xe KMD header
Align to the new PAT and cache coherency support

There is an issue with coherency=non_coh, which
is default option for some platforms.
Add temporary W/A until this issue is resolved.

xe_drm.h header is generated from the series
"PAT and cache coherency support"
from https://patchwork.freedesktop.org/series/123027/

Related-To: NEO-9421, NEO-8324
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-12-22 16:44:26 +01:00
Kacper Nowak
18fb432552 refactor: Stop using hard-coded BCS engine as default one
Do not rely on presence of BCS0 engine.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-12-21 17:34:57 +01:00
Lukasz Jobczyk
fa181937a4 performance: Limit tlb flush WA scope on DG2 Linux
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-12-21 12:18:29 +01:00
Mateusz Jablonski
a4888b39c6 build: add clang-tidy restriction for Enum case
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-21 08:58:51 +01:00
Compute-Runtime-Validation
590418a588 Revert "performance: Limit tlb flush WA scope on DG2 Linux"
This reverts commit 0b85a9f256.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-21 08:52:58 +01:00
Lukasz Jobczyk
0b85a9f256 performance: Limit tlb flush WA scope on DG2 Linux
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-12-20 16:53:54 +01:00
Aravind Gopalakrishnan
f5045348ad fix: Report correct DP support for platforms
Related-To: NEO-9702

- Remove older interfaces and add new release helper

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-12-20 10:35:49 +01:00
Maciej Bielski
cb448c6c35 fix: add missing registerIpcExportedAllocation
Unify `getIpcMemHandle()` and `getIpcMemHandles()` and fix the issue of
missing IPC handles registration while reducing copy-pasted code.

Also replace `boHandle` with `boHandleWrapper` to leverage `refCount`
properly and avoid double-free.

Related-To: NEO-8904
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-12-19 15:09:21 +01:00
Mateusz Jablonski
138fb65401 refactor: correct naming of enum class constants 11/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 14:52:57 +01:00
Mateusz Jablonski
de93bc6928 refactor: correct naming of enum class constants 10/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 11:30:39 +01:00
Mateusz Jablonski
dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Brandon Yates
0c7ba17f1a feature(debugger): Implement attach for xe debugger
Related-to: NEO-8407

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-12-18 16:27:17 +01:00
Compute-Runtime-Validation
570b4d3d39 Revert "fix: align NEO to new Xe KMD header"
This reverts commit f68b8a2c97.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-14 10:23:31 +01:00
Mateusz Jablonski
2eba5b35e4 refactor: correct naming of DrmParam enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 15:43:46 +01:00
Mateusz Jablonski
739d181026 refactor: correct naming of enum class constants 6/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 14:48:52 +01:00
Naklicki, Mateusz
f68b8a2c97 fix: align NEO to new Xe KMD header
Align to the new PAT and cache coherency support

xe_drm.h header is generated from the series
"PAT and cache coherency support"
from https://patchwork.freedesktop.org/series/123027/

Related-To: NEO-9421, NEO-8324
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-12-13 14:14:35 +01:00