Commit Graph

293 Commits

Author SHA1 Message Date
Dunajski, Bartosz
37e81d2a11 feature: new heuristic to enable relaxed ordering 2
Related-To: NEO-13431

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-12-09 11:58:42 +01:00
Compute-Runtime-Validation
af8ad3aa7a Revert "feature: new heuristic to enable relaxed ordering"
This reverts commit 526f9c5e81.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-08 16:01:32 +01:00
Bartosz Dunajski
526f9c5e81 feature: new heuristic to enable relaxed ordering
Related-To: GSD-10308

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-06 17:04:39 +01:00
Szymon Morek
d5e5c8e59e fix: call flushMonitorFence on BCS CSR
Related-To: NEO-12477

Also, make sure that global fence is always resident

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-03 12:48:54 +01:00
Mateusz Jablonski
fa58073095 refactor: remove not used usings/typedefs/variables
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-28 16:19:39 +01:00
Szymon Morek
1f60935930 fix: don't return csr as busy if gpu hang is detected
Related-To: NEO-13071

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-30 16:17:38 +01:00
Dominik Dabek
22a3ec948b fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-10-24 18:07:04 +02:00
Bartosz Dunajski
9d76158c1f feature: debug flag to change ULLS BCS timeout
Related-To: HSD-18040119232

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-23 18:18:42 +02:00
Szymon Morek
fca544b178 performance: enable idle csr detection in ULLS controller
Related-To: NEO-12991

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-23 12:10:45 +02:00
Szymon Morek
01a0b8e7f7 performance: improve ULLS controller timeout detection
Related-To: NEO-12991

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-22 13:53:25 +02:00
Artur Harasimiuk
1260023efa fix: add missing NOLINT to forward declarations
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-10 13:46:14 +02:00
Szymon Morek
a915ef4b7b fix: Don't program redundant paging fence semaphores
Related-To: NEO-12197

Don't program semaphore to wait for paging fence if it was
already programmed with the same value

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-07 11:42:06 +02:00
Bartosz Dunajski
0564a41919 feature: debug flag to control direct submission semaphore mode
Related-To: HSD-18039521047

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-02 21:06:53 +02:00
Bartosz Dunajski
ddce122991 fix: dont program NP state in ULLS if heapless state init is enabled
Related-To: HSD-13012223827

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-11 19:32:18 +02:00
Zbigniew Zdanowicz
0f5d9fbb65 performance: replace method calls with constexpr function
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-09-06 15:21:42 +02:00
Andrzej Koska
b0e7a11e9a refactor: Improving information transfer about the copy engine
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-09-05 16:11:52 +02:00
Szymon Morek
e6abfafa16 fix: drain paging fence queue before waiting for resources
Related-To: NEO-12197

If ULLS controller waits for CSR lock, and driver must
wait for resources due to OOM, then draing paging fence queue
directly

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-09-03 07:45:25 +02:00
Compute-Runtime-Validation
5dbbaa39b9 Revert "fix: ulls controller sleep, windows"
This reverts commit 6455d4648c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-24 06:37:58 +02:00
Dominik Dabek
6455d4648c fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-08-23 12:05:26 +02:00
Mateusz Jablonski
7ac41615cd fix: create thread with function pointer
don't create async thread in neo shared tests

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-21 18:02:37 +02:00
Bartosz Dunajski
85a42162f8 refactor: debug flag to print DirectSubmission semaphore usage
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-16 13:10:34 +02:00
Compute-Runtime-Validation
9b652f4a34 Revert "feature: Improving information transfer about the copy engine"
This reverts commit 17ffdff4f1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-15 22:06:31 +02:00
Andrzej Koska
17ffdff4f1 feature: Improving information transfer about the copy engine
Related-To: NEO-11934

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-08-14 11:28:29 +02:00
Bartosz Dunajski
7fc7fbfc47 refactor: improve ulls prints
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-07 14:18:04 +02:00
Szymon Morek
d4c1631ac7 performance: don't wait for paging fence on user thread
Related-To: NEO-12197

Currently for new resources user thread must wait before submitting
actual workload. With this commit, instead of waiting on user thread,
request is sent to background ULLS controller thread and additional
semaphore is programmed. ULLS controller will perform actual wait
and signal semaphore when paging fence reaches required value.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-08-07 08:30:51 +02:00
Szymon Morek
375d65d8e5 refactor: remove unused code
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-08-01 09:55:46 +02:00
Bartosz Dunajski
4fc37f9afd fix: set correct initial DirectSubmission fence value
Related-To: HSD-18039278676

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-07-19 09:52:17 +02:00
Dominik Dabek
dc26b25169 Revert "fix: ulls controller sleep, windows"
This reverts commit 672cc0ebc7.

Resolves: HSD-18038912878, NEO-11770

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-21 14:10:43 +02:00
Dominik Dabek
672cc0ebc7 fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-18 06:28:15 +02:00
Mateusz Jablonski
90ecbd65ef fix: don't sleep in ULTs
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-17 14:00:11 +02:00
Bartosz Dunajski
e5882e0d31 feature: pass GraphicsAllocation to fence wait
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-05-07 17:59:28 +02:00
Bartosz Dunajski
806da85ec6 refactor: prework to pass interrupt hint
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-04-29 11:14:53 +02:00
Bartosz Dunajski
8e5f9e72c8 refactor: simplify waiting for fence logic
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-04-25 22:36:19 +02:00
Filip Hazubski
cb654c97b0 refactor: Update DirectSubmissionState
Define missing functions to comply with the rule of five.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-04-25 11:37:42 +02:00
Lukasz Jobczyk
4be3230051 fix: Use current fence values when create fence for ULLS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-04-24 18:19:58 +02:00
Andrzej Koska
ae139aeffd refactor: Passing information about the engine
Extension of the interface with information
about the engine type passed to the function

Related-To: NEO-10678

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-04-22 13:33:56 +02:00
Plewka, Maciej
5c15aaf48a feature: Bind command buffer allocations as read only
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-04-02 16:08:48 +02:00
Dominik Dabek
b109094e4b fix: move ulls controller stop thread
Move ulls controller thread stopping to execution environment
destructor. This removes the vptr race from ulls controller destructor.

Put tests that are actually running the ulls controller into multi thread
tests.

That way they are compiled with thread sanitizer and removes the
variable test time from traditional ULTS.

Related-To: NEO-10942

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-04-02 08:26:19 +02:00
Dominik Dabek
b95dd1d405 fix: add assignment operator to ulls state
Fix for coverity issue, copy without assign.

Related-To: NEO-10942

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-28 16:32:35 +01:00
Dominik Dabek
a7479e6332 fix: ulls controller state and tests
Make the fields in direct submission state atomic.
Add thread yields to waiting loop in tests to avoid compiler optimizing
them away.

Related-To: NEO-10942

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-28 14:38:33 +01:00
Dominik Dabek
295b58a11f fix: move ulls controller thread start
Move starting ulls controller thread outside constructor to avoid vptr
race.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-27 08:06:50 +01:00
Bartosz Dunajski
fce016ee7a refactor: add new semaphore param
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-26 15:46:47 +01:00
Dominik Dabek
562d6f114b performance: helper for adjust ULLS on battery
Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-26 12:57:30 +01:00
Dominik Dabek
2b964254d6 performance: debug key for adjust ULLS on battery
ULLS controller timeout settings will be adjusted based on ac line
status and lowest queue throttle from submissions.

Lowest queue throttle is reset when controller stops ULLS.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-03-22 14:24:00 +01:00
Zbigniew Zdanowicz
fe377b6597 feature: add out cmd pointer to store data imm encoder
Related-To: NEO-10385

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-07 12:52:08 +01:00
Zbigniew Zdanowicz
4baee71974 refactor: add out cmd argument to semaphore wait encoder
Related-To: NEO-10065

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-01 11:43:36 +01:00
Mateusz Jablonski
b6b53daa3f fix: don't program dummy blit prior to MI ARB CHECK
Related-To: NEO-9996
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-02-27 15:46:46 +01:00
Lukasz Jobczyk
58eaece6c9 fix: Make DirectSubmissionInsertExtraMiMemFenceCommands able to force fence
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-29 16:43:24 +01:00
Lukasz Jobczyk
64175d8bb6 feature: Add ULLS support for WDDM 2.3
Resolves: NEO-4843

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-29 15:45:43 +01:00
Zbigniew Zdanowicz
eec553ea6a fix: set ulls ring start state according to returned value from kmd call
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-01-10 12:57:34 +01:00