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>