diff options
author | bunnei <bunneidev@gmail.com> | 2021-11-28 00:40:50 -0800 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-12-06 16:39:18 -0800 |
commit | a2384a18fad1d7541c0e11b3c6d762aa46cd1b15 (patch) | |
tree | b0dfbd934384335eb8011fde898b663658c40b6e /src | |
parent | 42697527ba6e981237f03f850826b5e722917414 (diff) |
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/k_thread.cpp | 5 |
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(); |