Commit Graph

69 Commits

Author SHA1 Message Date
Maciej Plewka
f3d36d3350 feature: bind resources as read only
Related-to: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-26 14:11:57 +01:00
Young Jin Yoon
068f6a25c6 Revert "feature: support explicit memory locking"
This reverts commit 27a3307bb0.

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-25 20:10:20 +01:00
Mateusz Jablonski
6af9856e33 fix: reorder members in BufferObject class
Related-To: HSD-13011781488
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-25 11:44:38 +01:00
Young Jin Yoon
27a3307bb0 feature: support explicit memory locking
Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().
Change the logic to work correctly with makeResident() when lock() is
called previously for the same memory region

Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-25 09:49:18 +01:00
Mateusz Jablonski
ec19ce536a refactor: store userptr value in buffer object
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-22 12:49:13 +01:00
Compute-Runtime-Validation
94cc48f81b Revert "fix: don't use fake userptr flag in ioctl helper xe"
This reverts commit d3ab256f55.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-15 03:08:01 +01:00
Mateusz Jablonski
d3ab256f55 fix: don't use fake userptr flag in ioctl helper xe
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-14 18:41:17 +01:00
Compute-Runtime-Validation
ef7dbc99f1 Revert "fix: don't use fake userptr flag in ioctl helper xe"
This reverts commit 98824fdaf6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-14 14:35:14 +01:00
Mateusz Jablonski
98824fdaf6 fix: don't use fake userptr flag in ioctl helper xe
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-14 10:07:38 +01:00
Michal Mrozek
27f4eab52f fix: restore previous order of variables
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
Resolves: NEO-10439
2024-02-19 14:13:54 +01:00
Dominik Dabek
0120d8a58d performance: program pat index on mtl linux
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>
2024-02-16 17:33:07 +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
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
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
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
da957d1a37 refactor: correct naming of enum class constants 1/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 14:26:42 +01:00
Jaime Arteaga
2efd6e547a feature: Add support for chunking in the UMD (1/N)
Read if support for chunking is available in the KMD.
If available, KMD will create a BO with 1 or more chunks,
depending on the chunk size selected.

Related-To: NEO-7695

Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc18

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-06-02 23:27:40 +02:00
Mateusz Jablonski
32d8a3bc6d fix: store registered engines per root device
in most cases we need to iterate over engines associated to single root device

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 10:54:07 +02:00
Wrobel, Patryk
4c58eda90d Ensure that BO handle is closed only once
When one process had exported and then opened IPC handle
of memory, then close function was called twice for the
same BO handle. It caused debugBreak() and aborted
an application.

This change allows multiple separate BOs to share one
handle. The last shared handle owner calls close() function.

Related-To: NEO-7200
Signed-off-by: Wrobel, Patryk <patryk.wrobel@intel.com>
2023-02-13 14:42:49 +01:00
Maciej Plewka
4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Warchulski, Jaroslaw
f35f59b573 Cleanup includes 5
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-18 22:46:38 +01:00
Michal Mrozek
bddf8c7dbc Do not make resident something that is already resident.
Move checks to upper layers.
100ns gain in ZE_AFFINITY_MASK=0.0 PrintDebugSettings=1
./api_overhead_benchmark_l0 --test=ExecuteCommandListImmediate --api=l0
--UseProfiling=0 --CallsCount=1 --MeasureCompletionTime=0
--useBarrierSynchronization=0 --KernelExecutionTime=1 --iterations=1000

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-21 10:59:35 +02:00
Kamil Kopryk
d4d54f5093 Cleanup includes
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-25 09:58:38 +02:00
Mateusz Jablonski
3c18744d10 Create a wrapper for drm_i915_gem_execbuffer2
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-12 17:58:16 +02:00
Mateusz Jablonski
268393d776 Create wrapper for drm_i915_gem_exec_object2
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-12 13:14:27 +02:00
Krzysztof Gibala
143694aa0a Adjust gmmHelper canonize method accessing point in Drm
Accessing canonize method as a member of GmmHelper class object

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-11 17:35:08 +02:00
Artur Harasimiuk
e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Mateusz Jablonski
db178a9604 Remove not needed i915_drm.h includes
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-11 13:08:21 +02:00
Bartosz Dunajski
bad53dc58c Remove fillExecObjectImpl method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-21 14:23:58 +02:00
Bartosz Dunajski
06fa316a75 Assign pat_index to BO during creation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-21 13:25:13 +02:00
Patryk Wrobel
352583b9d9 Detect GPU hang in evictUnusedAllocations()
This change introduces checking of the return value
of wait function in case of blocking version of
evictUnusedAllocations(). Furthermore, it propagates
the error to the callers. It contains also ULTs.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-13 15:39:02 +02:00
Mateusz Hoppe
0e37f8c830 Register zebin module for all kernel allocations
Related-To: NEO-6637

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-15 16:58:04 +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
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
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
Jaime Arteaga
72d16c7cf2 Add rootDeviceIndex to BO
Related-To: LOCI-2502

This to be able to differentiate when a B0 comes from a shareable handle
and we need to know which device owns it. This is needed when inside
the same process we have more than one active P2P transaction.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-12-20 23:33:04 +01:00
Milczarek, Slawomir
ca4af1dde1 Add helpers for page fault support
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-03 13:39:38 +01:00
Lukasz Jobczyk
71ed3eba16 Add mapping based colouring
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-25 09:51:54 +02:00
Artur Harasimiuk
d2a29ce458 DrmBO: canonize GPU addresses
Related-To: NEO-6364
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-21 18:25:48 +02:00
Artur Harasimiuk
275ec1118e break friendship between DrmMM and DrmBO
Related-To: NEO-6364
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-21 15:09:57 +02:00
Milczarek, Slawomir
afa45bd9e7 Add support for mem advise to set cache policy in buffer object
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-10-07 22:16:58 +02:00
Bartosz Dunajski
c7a936d1f4 Add memory banks to Simulated CSR
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-05 12:19:58 +02:00
Mateusz Hoppe
8a037399d1 Immediate binding flag in BufferObject
Related-To: NEO-5985

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-06-17 14:16:13 +02:00
lgotszal
3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
Slawomir Milczarek
d399613f25 Add support for L3 cache information
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-02-05 10:28:02 +01:00
Lukasz Jobczyk
adfa3c6bcb Fill exec object with additional flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-01-28 15:32:04 +01:00
Lukasz Jobczyk
d79611d2ff Remove redundant flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-01-26 11:49:22 +01:00
Lukasz Jobczyk
3e762b25c0 Split buffer object validation and early pinning
Change-Id: If1b136807dc8593179ce743c8e0187ee80c3e95f
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-16 14:13:33 +02:00