Commit Graph

1033 Commits

Author SHA1 Message Date
Slawomir Milczarek
40ce5eb55e fix: Fix DirectSubmissionController deadlock with try_lock pattern
Related-To: NEO-13325

Replace blocking obtainUniqueOwnership() with tryObtainUniqueOwnership()
in critical paths to prevent deadlock between controller thread holding
directSubmissionsMutex and submission threads holding CSR locks.

Changes:
- Add CommandStreamReceiver::tryObtainUniqueOwnership() method
- Use try_lock in checkNewSubmissions() and context group idle detection
- Skip contended CSRs instead of blocking (conservative approach)
- Add comprehensive unit tests for try_lock functionality

Fixes deadlock scenario where registerDirectSubmission() waits for
directSubmissionsMutex while checkNewSubmissions() holds it and waits
for CSR ownership locks.

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-09-29 11:38:26 +02:00
Kamil Kopryk
8c7fb0dde8 fix: data race in host function data initialization
Make sure hostFunctionInitialized bool is set after actual operations
are done

Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-25 11:29:01 +02:00
Compute-Runtime-Validation
6736378c4d Revert "fix: use condition variables instead of busy waits in worker threads"
This reverts commit 452475a0b9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-23 17:06:18 +02:00
Igor Venevtsev
452475a0b9 fix: use condition variables instead of busy waits in worker threads
Resolves: NEO-16085, GSD-11678, HSD-14025819208

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2025-09-23 14:44:39 +02:00
Maciej Bielski
819702ceb8 fix: add various debug-mode asserts
Related-To: NEO-15630

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-09-23 11:33:01 +02:00
Kamil Kopryk
f3ba701a9b refactor: host function data programming
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-23 11:27:35 +02:00
Kamil Kopryk
5f59b4ca08 feature: add host function allocation
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-23 11:10:45 +02:00
Compute-Runtime-Validation
16a6c3ca8a Revert "feature: add host function allocation"
This reverts commit 75b4de70cd.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-23 02:33:15 +02:00
Kamil Kopryk
75b4de70cd feature: add host function allocation
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-22 17:55:36 +02:00
Jaroslaw Warchulski
195bf66a49 refactor: fix typos
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-09-22 12:46:41 +02:00
Maciej Bielski
dcfe6c4a26 fix: add lock within processEviction() of TBX
Related-To: NEO-15630

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-09-18 14:17:13 +02:00
Mateusz Jablonski
f13c18be8c refactor: remove not needed debug break
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-17 17:00:08 +02:00
Jakub Nowacki
a5025edc20 fix: make initializeEngine() thread-safe
Related-To: NEO-15630

Signed-off-by: Jakub Nowacki <jakub.nowacki@intel.com>
2025-09-17 11:01:33 +02:00
Fabian Zwoliński
d8bfc288a8 fix: check for nullptr before dereference
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-09-15 14:51:57 +02:00
Mateusz Jablonski
e2f533e2a1 refactor: remove not needed code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-09-15 14:19:40 +02:00
Slawomir Milczarek
e80b84e699 feature: Don't terminate ULLS contexts if busy context exists
Enhanced direct submission idle detection to ensure that
ULLS contexts are not terminated if any context in the same group
is still busy or has pending work.
Idle detection now accurately considers the state of all CSRs
in a context group before terminating any direct submission.
Controlled with DirectSubmissionControllerContextGroupIdleDetection
(note: the feature is disabled by default in first step).

Related-To: NEO-13325

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-09-12 09:32:59 +02:00
Vysochyn, Illia
f4bd4e603d refactor: Use else if instead of nested else-if conditions
Replaces nested else-if with else if for consistency and readability.
No functional changes.

Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
2025-09-11 16:20:59 +02:00
Lukasz Jobczyk
678f99c57d refactor: remove not used dispatch modes
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-09-11 14:59:21 +02:00
Kamil Kopryk
d20c9264e5 feature: add hostFunctions data layout
Related-To: NEO-14577
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-11 11:46:59 +02:00
Kamil Kopryk
56415ddac7 refactor: unify naming for l3 flush after post sync
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-09-10 08:12:39 +02:00
Bellekallu Rajkiran
0557b82586 fix: nullptr dereference for blitProperties allocations
Related-To: NEO-15461

Signed-off-by: Narendra Bagria <narendra.bagria@intel.com>
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-09-02 12:14:06 +02:00
Alicja Lukaszewicz
bca503548a feature: add peer access check on driver init
Related-To: NEO-14885, HSD-14024947073

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2025-08-27 15:48:22 +02:00
Narendra Bagria
31bcea128f feature: system allocator support for image APIs
Related-To: NEO-15461

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Signed-off-by: Narendra Bagria <narendra.bagria@intel.com>
2025-08-26 09:35:22 +02:00
Compute-Runtime-Validation
82a1d0c81c Revert "feature: system allocator support for image APIs"
This reverts commit 001f3a3816.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-08-23 02:06:57 +02:00
Narendra Bagria
001f3a3816 feature: system allocator support for image APIs
Related-To: NEO-15461

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Signed-off-by: Narendra Bagria <narendra.bagria@intel.com>
2025-08-22 10:23:15 +02:00
Mateusz Jablonski
22e7aa36d1 refactor: remove pre-gen12 code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-08-11 20:29:37 +02:00
Dominik Dabek
77470acf7a fix: l0, tag update on mem copy ext host ptr
Require tag update on mem copy with external host ptr.
Without this, temporary allocation might not be cleaned before next copy
operation.
If a second copy operation is passed same ptr that has been reallocated,
there will be a pagefault.

Related-To: NEO-15663

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-08-08 12:42:53 +02:00
Zbigniew Zdanowicz
841267ecbd feature: save command buffer gpu address for front end command in command list
Related-To: NEO-15376

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2025-08-05 09:59:08 +02:00
Mateusz Jablonski
dd568b35b9 refactor: remove not needed code related to vme
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-29 10:00:23 +02:00
Mateusz Jablonski
05cf05e10e refactor: remove redundant tracking of media sampler programming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-28 15:17:46 +02:00
Mateusz Jablonski
066447e5eb refactor: remove not needed code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-24 16:33:29 +02:00
Bartosz Dunajski
e3e1ae0def refactor: helper function to set bcs split transfer direction
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-07-24 10:31:03 +02:00
Szymon Morek
bbcca97682 fix: flush cache after accessing img from buffer
Related-To: NEO-15391

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-07-23 19:17:47 +02:00
Compute-Runtime-Validation
cf89342bf8 Revert "fix: flush cache after accessing img from buffer"
This reverts commit b90b77e4e3.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-07-23 05:25:55 +02:00
Szymon Morek
b90b77e4e3 fix: flush cache after accessing img from buffer
Related-To: NEO-15391

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-07-22 16:55:04 +02:00
Tomasz Biernacik
2c5cbec033 feature: control post sync completion check
Related-To: NEO-14844

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-07-15 13:51:19 +02:00
Mateusz Jablonski
b58de85026 refactor: remove not needed flag deviceSupportsVmePreemption
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-07-10 16:03:20 +02:00
Grochowski, Stanislaw
8180e95e0f fix: ensure pollForCompletion in aub on program termination
Related-To: NEO-14867

Signed-off-by: Grochowski, Stanislaw <stanislaw.grochowski@intel.com>
2025-07-10 08:32:00 +02:00
Kamil Kopryk
2edd953026 refactor: move empty sba programming in heapless prolog to base class
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-07-08 16:46:57 +02:00
Bartosz Dunajski
e2dff82741 feature: remote copy support for bcs split
Related-To: NEO-14557

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-07-01 15:57:02 +02:00
Mateusz Hoppe
cb152ba821 fix: copy sip binary to allocation based on blitRequired query
- readOnly ISA allocations must be written through CPU pointer
- command buffer allocation in singleAddressSpaceSbaTracking mode cannot
be readonly - it is written by SBA tracking commands
- this change is fixing ZET_ENABLE_PROGRAM_DEBUGGING mode 2

Related-To: GSD-10359

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-06-30 19:41:19 +02:00
Szymon Morek
0db5ce22a1 performance: use resource_barrier on Xe2 and PTL
Related-To: NEO-14943

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-06-24 14:24:47 +02:00
Naklicki, Mateusz
bd80531dea fix: allow scratch to be optional
Related-To: NEO-14130

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2025-06-24 11:15:04 +02:00
Jack Myers
f2b5126598 feature: enable tbx fault manager by default
Related-To: NEO-13748
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-06-23 09:59:32 +02:00
Aleksandra Nizio
f0780df9be fix: Remove unused AubMemDump logic
Related-To: NEO-14718
Signed-off-by: Aleksandra Nizio <aleksandra.nizio@intel.com>
2025-06-20 19:54:48 +02:00
Bartosz Dunajski
7d5679cbfe fix: enable flush task submission for internal cmd lists
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-06-12 19:44:14 +02:00
Kamil Kopryk
bb52c358b9 refactor: flush Task method
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-15011

Also correct ults
2025-06-11 16:36:56 +02:00
Bartosz Dunajski
17a15a3d9d refactor: dedicated prefetch cmd list method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-06-09 13:33:02 +02:00
Compute-Runtime-Validation
1a50e8e7c0 Revert "performance: use RESOURCE_BARRIER as stalling barrier"
This reverts commit 556c0b64c6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-30 18:00:34 +02:00
Lukasz Jobczyk
332340b02b refactor: Prework for release fence removal leaving acquire fence
Related-To: NEO-14642

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-30 12:01:28 +02:00