From 1625a45c31b49f2bfbcdb533366bbc2432b41de7 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 23 Jun 2022 01:15:55 +0200 Subject: [PATCH] On ARM64 use ISB to yield CPU in spinlocks. https://github.com/rust-lang/rust/commit/c064b6560b7ce0adeb9bbf5d7dcf12b1acb0c807 --- common/TracyYield.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/TracyYield.hpp b/common/TracyYield.hpp index 403ca29c..7b8ccef0 100644 --- a/common/TracyYield.hpp +++ b/common/TracyYield.hpp @@ -16,6 +16,8 @@ static tracy_force_inline void YieldThread() { #if defined __SSE2__ || defined _M_AMD64 || _M_IX86_FP == 2 _mm_pause(); +#elif defined __aarch64__ + asm volatile( "isb" : : ); #else std::this_thread::yield(); #endif