summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/scheduler.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-03-08 17:51:24 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:35:40 +0200
commit6515c6e8c699584528486341579cf3a8dde3eea4 (patch)
tree1663248cbd02cc0db108ed18feef5a994e44d63d /src/core/hle/kernel/scheduler.cpp
parentScheduler: Correct yields. (diff)
downloadyuzu-6515c6e8c699584528486341579cf3a8dde3eea4.tar
yuzu-6515c6e8c699584528486341579cf3a8dde3eea4.tar.gz
yuzu-6515c6e8c699584528486341579cf3a8dde3eea4.tar.bz2
yuzu-6515c6e8c699584528486341579cf3a8dde3eea4.tar.lz
yuzu-6515c6e8c699584528486341579cf3a8dde3eea4.tar.xz
yuzu-6515c6e8c699584528486341579cf3a8dde3eea4.tar.zst
yuzu-6515c6e8c699584528486341579cf3a8dde3eea4.zip
Diffstat (limited to 'src/core/hle/kernel/scheduler.cpp')
-rw-r--r--src/core/hle/kernel/scheduler.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp
index ab17204bb..5322f0aae 100644
--- a/src/core/hle/kernel/scheduler.cpp
+++ b/src/core/hle/kernel/scheduler.cpp
@@ -133,6 +133,7 @@ u32 GlobalScheduler::SelectThreads() {
u32 cores_needing_context_switch{};
for (u32 core = 0; core < Core::Hardware::NUM_CPU_CORES; core++) {
Scheduler& sched = kernel.Scheduler(core);
+ ASSERT(top_threads[core] == nullptr || top_threads[core]->GetProcessorID() == core);
if (update_thread(top_threads[core], sched)) {
cores_needing_context_switch |= (1ul << core);
}
@@ -244,7 +245,7 @@ bool GlobalScheduler::YieldThreadAndWaitForLoadBalancing(Thread* yielding_thread
winner = yielding_thread;
}
} else {
- winner = scheduled_queue[i].front();
+ winner = scheduled_queue[core_id].front();
}
if (kernel.GetCurrentHostThreadID() != core_id) {