From 21a2fdb80a8a5f5fe814bc70cf704fa680b08f5d Mon Sep 17 00:00:00 2001 From: German Andryeyev Date: Mon, 1 Nov 2021 09:52:38 -0400 Subject: [PATCH] SWDEV-305016 - Check for HW event ready Runtime can skip the marker if HW event was completed already. Change-Id: Ie9fbc08b06b375c5586cbe1aa93922f1880608e4 --- hipamd/src/hip_event.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hipamd/src/hip_event.cpp b/hipamd/src/hip_event.cpp index 77c5da2314..e31f8f6856 100644 --- a/hipamd/src/hip_event.cpp +++ b/hipamd/src/hip_event.cpp @@ -200,10 +200,12 @@ hipError_t Event::enqueueStreamWaitCommand(hipStream_t stream, amd::Command* com hipError_t Event::streamWait(hipStream_t stream, uint flags) { amd::HostQueue* queue = hip::getQueue(stream); - if ((event_ == nullptr) || (event_->command().queue() == queue)) { + // Access to event_ object must be lock protected + amd::ScopedLock lock(lock_); + if ((event_ == nullptr) || (event_->command().queue() == queue) || ready()) { return hipSuccess; } - amd::ScopedLock lock(lock_); + if (!(this->flags & hipEventInterprocess)) { if (!event_->notifyCmdQueue()) { return hipErrorLaunchOutOfResources;