SWDEV-449922 - Remove a global lock for queues on wait

The new logic has a lock for PAL call and doesn't require the lock for queues.

Change-Id: I61b67c3c4abd2ede44809de1d6beed756766032e
Этот коммит содержится в:
German Andryeyev
2024-03-26 11:45:29 -04:00
родитель 95e3958748
Коммит 2f3ad43c4a
+1 -2
Просмотреть файл
@@ -1385,13 +1385,12 @@ void Resource::free() {
// and resource can be reused on another async queue without a wait on a busy operation
if (wait) {
if (memRef_->gpu_ == nullptr) {
Device::ScopedLockVgpus lock(dev());
amd::ScopedLock l(dev().vgpusAccess());
// Release all memory objects on all virtual GPUs
for (uint idx = 1; idx < dev().vgpus().size(); ++idx) {
dev().vgpus()[idx]->waitForEvent(&events_[idx]);
}
} else {
amd::ScopedLock l(memRef_->gpu_->execution());
memRef_->gpu_->waitForEvent(&events_[memRef_->gpu_->index()]);
}
} else {