SWDEV-458943 - Add fast path in wait()

wait() is redesigned with two pathes:
fast path: Use spinlock to wait for notify signal. If the
 signal hasn't been received for some loops, go to slow path.
slow path: Use condition_variable's wait().

Improve monitor wrapper for better performance.

Fix some bugs left from name removing patch.

Change-Id: I893a8353121a25d11e37c8e631caf31cc1fc1f24
This commit is contained in:
Tao Sang
2024-10-14 23:34:37 -04:00
committed by Tao Sang
parent d208e8052f
commit f2ff56af9c
4 changed files with 152 additions and 60 deletions
+1 -1
View File
@@ -265,7 +265,7 @@ release(bool, DEBUG_CLR_SYSMEM_POOL, false, \
"Use sysmem pool implementation in runtime for amd commands") \
release(bool, DEBUG_HIP_KERNARG_COPY_OPT, true, \
"Enable/Disable multiple kern arg copies") \
release(bool, DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR, false, \
release(bool, DEBUG_CLR_USE_STDMUTEX_IN_AMD_MONITOR, true, \
"Use std::mutex in amd::monitor") \
release(bool, DEBUG_CLR_KERNARG_HDP_FLUSH_WA, false, \
"Toggle kernel arg copy workaround") \