SWDEV-440746 - Fix the hostcall buffer creation

Avoid a deadlock on the host call buffer creation. Since the buffer will be
allocated in the queue thread, then use direct device memory allocation
skipping the global context lock.

Change-Id: I09b55ee03bb42ab5d320c152b52a8c842c5fdcc1


[ROCm/clr commit: 62559a6e5a]
Bu işleme şunda yer alıyor:
German Andryeyev
2024-04-16 17:41:21 -04:00
ebeveyn d2b2b2c5fa
işleme 562f3ef098
2 değiştirilmiş dosya ile 7 ekleme ve 3 silme
+4 -1
Dosyayı Görüntüle
@@ -284,7 +284,10 @@ static struct Init {
~Init() {
if (state == State::kInit) {
state = State::kDestroy;
while (state == State::kDestroy) {}
// @note: Under Linux thread destruction can be delayed and
// ROCR may crash in a wait for event occasionally. Hence, runtime needs
// an early exit. The logic isn't required for Windows.
while (IS_LINUX && (state == State::kDestroy)) {}
}
}
} kHostThreadActive;