Commit Graph

79 Commits

Author SHA1 Message Date
Wenbin Lu
2ba80ce114 feature: support physical host memory
Related-To: NEO-11981

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-11-20 08:19:52 +01:00
Naklicki, Mateusz
516e502b8c fix: remove obsolete workaround about memory locking
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-10-02 15:55:50 +02:00
Young Jin Yoon
675ec13439 fix: add rootDeviceIndex for BufferObjectHandleWrapper
Modified sharedBoHandles to use the (boHandle, rootDeviceIndex) pair
as a key instead of boHandle, and added rootDeviceIndex variable in
the BufferObjectHandleWrapper class of drm_buffer_object.h.

Previously sharedBoHandles uses boHandle as a key. However, this will
not work with the system using multiple devices, because each devices
can return the same handle to refer different memory region.

Related-To: GSD-9024
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-09-10 19:27:19 +02:00
Slawomir Milczarek
0258667a6e fix: Set control block in buffer object handle wrapper to null after deletion
Related-To: HSD-18039543925

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2024-08-29 12:06:59 +02:00
Naklicki, Mateusz
1317aa539b fix: unblock xekmd recoverable pagefaults vmbind
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-08-14 10:46:45 +02:00
Compute-Runtime-Validation
a860adc457 Revert "fix: unblock xekmd recoverable pagefaults vmbind"
This reverts commit cc3e6d5055.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-09 14:17:41 +02:00
Naklicki, Mateusz
cc3e6d5055 fix: unblock xekmd recoverable pagefaults vmbind
Related-To: HSD-13011898606
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-08-09 09:10:27 +02:00
Young Jin Yoon
d6a14d4ed5 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().

Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-29 07:31:22 +01:00
Maciej Plewka
b722f3b579 feature: Add interface to bind resources as readonly
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-27 14:24:58 +01:00
Compute-Runtime-Validation
8e44a46983 Revert "feature: bind resources as read only"
This reverts commit f3d36d3350.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-27 08:51:47 +01:00
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