[CPU] Replace memory_order_relaxed with release/acquire in UpdateNodesBase class (#19028)

This commit is contained in:
Aleksandr Voron
2023-08-09 13:28:44 +04:00
committed by GitHub
parent 2d5a4e20ec
commit 19b3f062af
+4 -4
View File
@@ -1163,15 +1163,15 @@ public:
m_completion.store(true, std::memory_order::memory_order_relaxed);
throw;
}
m_prepareCounter.store(stop_indx, std::memory_order::memory_order_release);
m_completion.store(true, std::memory_order::memory_order_relaxed);
m_prepareCounter.store(stop_indx, std::memory_order::memory_order_relaxed);
m_completion.store(true, std::memory_order::memory_order_release);
}
void updateDynParams(size_t node_indx, size_t /*unused*/) {
size_t local_counter = node_indx;
while (true) {
bool completion = m_completion.load(std::memory_order::memory_order_relaxed);
size_t prepareCounter = m_prepareCounter.load(std::memory_order::memory_order_acquire);
const bool completion = m_completion.load(std::memory_order::memory_order_acquire);
const size_t prepareCounter = m_prepareCounter.load(std::memory_order::memory_order_relaxed);
if (completion && local_counter == prepareCounter) {
break;
}