From 8b56386ccdcef14e0627aa3bfdc55c93b13a841c Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Tue, 31 Dec 2019 14:46:01 +0100 Subject: [PATCH] Keep atomics on separate cache lines. --- server/TracyFileRead.hpp | 6 +++--- server/TracyWorker.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server/TracyFileRead.hpp b/server/TracyFileRead.hpp index cb9c4ae8..270c86b0 100644 --- a/server/TracyFileRead.hpp +++ b/server/TracyFileRead.hpp @@ -266,9 +266,9 @@ private: size_t m_offset; size_t m_lastBlock; - std::atomic m_signalSwitch; - std::atomic m_signalAvailable; - std::atomic m_exit; + alignas(64) std::atomic m_signalSwitch; + alignas(64) std::atomic m_signalAvailable; + alignas(64) std::atomic m_exit; std::thread m_decThread; diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index a01fd4ed..a1dc819d 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1349,7 +1349,7 @@ Worker::Worker( FileRead& f, EventType::Type eventMask, bool bgTasks ) size_t bufsz = 0; char* outbuf = nullptr; size_t outsz = 0; - std::atomic state = Available; + alignas(64) std::atomic state = Available; }; // Leave one thread for file reader, second thread for dispatch (this thread)