From 3476830b26b61410b633c827e985bffa1dc52528 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sun, 2 Dec 2018 00:44:40 -0500 Subject: svc: Avoid performance-degrading unnecessary reschedule --- src/core/hle/kernel/scheduler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/core/hle/kernel/scheduler.cpp') diff --git a/src/core/hle/kernel/scheduler.cpp b/src/core/hle/kernel/scheduler.cpp index 624c841ad..efe3551e2 100644 --- a/src/core/hle/kernel/scheduler.cpp +++ b/src/core/hle/kernel/scheduler.cpp @@ -207,8 +207,8 @@ void Scheduler::YieldWithoutLoadBalancing(Thread* thread) { ASSERT(thread->GetPriority() < THREADPRIO_COUNT); // Yield this thread - MoveThreadToBackOfPriorityQueue(thread, thread->GetPriority()); Reschedule(); + MoveThreadToBackOfPriorityQueue(thread, thread->GetPriority()); } void Scheduler::YieldWithLoadBalancing(Thread* thread) { @@ -223,6 +223,7 @@ void Scheduler::YieldWithLoadBalancing(Thread* thread) { ASSERT(priority < THREADPRIO_COUNT); // Reschedule thread to end of queue. + Reschedule(); MoveThreadToBackOfPriorityQueue(thread, priority); Thread* suggested_thread = nullptr; -- cgit v1.2.3