summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-11-28 00:40:50 -0800
committerbunnei <bunneidev@gmail.com>2021-12-06 16:39:18 -0800
commita2384a18fad1d7541c0e11b3c6d762aa46cd1b15 (patch)
treeb0dfbd934384335eb8011fde898b663658c40b6e /src
parent42697527ba6e981237f03f850826b5e722917414 (diff)
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_thread.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp
index 245437387..03175e5c2 100644
--- a/src/core/hle/kernel/k_thread.cpp
+++ b/src/core/hle/kernel/k_thread.cpp
@@ -1096,6 +1096,11 @@ KScopedDisableDispatch::~KScopedDisableDispatch() {
return;
}
+ // Skip the reschedule if single-core, as dispatch tracking is disabled here.
+ if (!Settings::values.use_multi_core.GetValue()) {
+ return;
+ }
+
if (GetCurrentThread(kernel).GetDisableDispatchCount() <= 1) {
auto scheduler = kernel.CurrentScheduler();