SWDEV-470008 - Fix AMD_SERIALIZE_KERNEL

- awaitCompletion code may do a endless spin wait for cases where we
dont submit a handler. One such case can be the hipExt*Launch API which
takes a stop event. In that case we optimize the stop event by attaching
a signal to the dispatch packet but dont submit a handler when we attach
the signal. That means if awaitCompletion() is called after that, we
would keep on waiting on command status on the host rather than simply
checking signal value.

Change-Id: Ie8bf175aeefa3f9e4299b1ae7ae9108dad67e283


[ROCm/clr commit: 561fb8a459]
这个提交包含在:
Saleel Kudchadker
2024-06-27 01:09:31 +00:00
父节点 58d27f6f47
当前提交 bbef85714e
+1 -1
查看文件
@@ -388,7 +388,7 @@ void Command::enqueue() {
if ((queue_->device().settings().waitCommand_ && (type_ != 0)) ||
((commandWaitBits_ & 0x2) != 0)) {
awaitCompletion();
queue_->finish();
}
// set this queue status is active