mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-23 03:01:20 +08:00
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>
54 KiB
54 KiB