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>
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>
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>
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>
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>
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>
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>
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>
Add mechanism to increase direct submission timeout up to a maximum
value when no new submissions were made since last sleep.
This should help in workloads that have delays between iterations larger
than current direct submission controller timeout.
Related-To: NEO-7878
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>