From c584d19a6c3174a9be602a82a71bb6760e0a8f9b Mon Sep 17 00:00:00 2001 From: "Zhang, Winston" Date: Wed, 1 Mar 2023 20:36:14 +0000 Subject: [PATCH] modify printPrintfOutput to be an atomic operation Mutex was added to kernel_imp for atomic operation during printPrintfOutput on kernel. Related-To: LOCI-3681 Signed-off-by: Zhang, Winston --- level_zero/core/source/kernel/kernel_imp.cpp | 1 + level_zero/core/source/kernel/kernel_imp.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/level_zero/core/source/kernel/kernel_imp.cpp b/level_zero/core/source/kernel/kernel_imp.cpp index 5df718bd63..13ebeabf47 100644 --- a/level_zero/core/source/kernel/kernel_imp.cpp +++ b/level_zero/core/source/kernel/kernel_imp.cpp @@ -974,6 +974,7 @@ void KernelImp::createPrintfBuffer() { } void KernelImp::printPrintfOutput(bool hangDetected) { + std::lock_guard lock(this->printfLock); PrintfHandler::printOutput(kernelImmData, this->printfBuffer, module->getDevice(), hangDetected); } diff --git a/level_zero/core/source/kernel/kernel_imp.h b/level_zero/core/source/kernel/kernel_imp.h index 4c7991b774..96feb27c29 100644 --- a/level_zero/core/source/kernel/kernel_imp.h +++ b/level_zero/core/source/kernel/kernel_imp.h @@ -14,6 +14,7 @@ #include "level_zero/core/source/kernel/kernel.h" #include +#include namespace L0 { @@ -230,6 +231,7 @@ struct KernelImp : Kernel { std::unique_ptr pImplicitArgs; std::unique_ptr pExtension; + std::mutex printfLock; }; } // namespace L0