From 97296d1fe9fcfefd97f408c3ecab7744d809366f Mon Sep 17 00:00:00 2001 From: Jamie Reece Wilson Date: Sun, 27 Aug 2023 20:26:22 +0100 Subject: [PATCH] [*] ThreadingConfig::bPreferEnableAdaptiveSpin --- Include/Aurora/Runtime.hpp | 1 + Source/Threading/Primitives/SMTYield.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Include/Aurora/Runtime.hpp b/Include/Aurora/Runtime.hpp index a6052185..4614d6c1 100644 --- a/Include/Aurora/Runtime.hpp +++ b/Include/Aurora/Runtime.hpp @@ -368,6 +368,7 @@ namespace Aurora AuUInt64 bUWPNanosecondEmulationCheckFirst : 1 { false }; AuUInt64 uUWPNanosecondEmulationMaxYields : 7 { 12 }; AuUInt64 bForceEnableAdaptiveSpin : 1 { false }; + AuUInt64 bPreferEnableAdaptiveSpin : 1 { true }; AuUInt64 bPreferLinuxAdaptiveSpin : 1 { true }; AuUInt64 bPreferOldWin32AdaptiveSpin : 1 { true }; AuUInt64 bPreferNewWin32AdaptiveSpin : 1 { true }; diff --git a/Source/Threading/Primitives/SMTYield.cpp b/Source/Threading/Primitives/SMTYield.cpp index 13c9726b..15d46d33 100644 --- a/Source/Threading/Primitives/SMTYield.cpp +++ b/Source/Threading/Primitives/SMTYield.cpp @@ -110,7 +110,8 @@ namespace Aurora::Threading::Primitives void InitAdaptiveThresholdFirstTime() { - if (!gRuntimeConfig.threadingConfig.bForceEnableAdaptiveSpin) + if (!gRuntimeConfig.threadingConfig.bForceEnableAdaptiveSpin && + gRuntimeConfig.threadingConfig.bPreferEnableAdaptiveSpin) { #if defined(AURORA_IS_LINUX_DERIVED) if (gRuntimeConfig.threadingConfig.bPreferLinuxAdaptiveSpin)