diff options
| author | 2018-12-02 00:44:40 -0500 | |
|---|---|---|
| committer | 2018-12-02 00:44:40 -0500 | |
| commit | 3476830b26b61410b633c827e985bffa1dc52528 (patch) | |
| tree | cedba8440c12c3d8edeb78f33de5c56f2488b60f /src/core/hle/kernel/scheduler.cpp | |
| parent | scheduler: Add explanations for YieldWith and WithoutLoadBalancing (diff) | |
| download | yuzu-3476830b26b61410b633c827e985bffa1dc52528.tar.gz yuzu-3476830b26b61410b633c827e985bffa1dc52528.tar.xz yuzu-3476830b26b61410b633c827e985bffa1dc52528.zip | |
svc: Avoid performance-degrading unnecessary reschedule
Diffstat (limited to 'src/core/hle/kernel/scheduler.cpp')
| -rw-r--r-- | src/core/hle/kernel/scheduler.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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) { | |||
| 207 | ASSERT(thread->GetPriority() < THREADPRIO_COUNT); | 207 | ASSERT(thread->GetPriority() < THREADPRIO_COUNT); |
| 208 | 208 | ||
| 209 | // Yield this thread | 209 | // Yield this thread |
| 210 | MoveThreadToBackOfPriorityQueue(thread, thread->GetPriority()); | ||
| 211 | Reschedule(); | 210 | Reschedule(); |
| 211 | MoveThreadToBackOfPriorityQueue(thread, thread->GetPriority()); | ||
| 212 | } | 212 | } |
| 213 | 213 | ||
| 214 | void Scheduler::YieldWithLoadBalancing(Thread* thread) { | 214 | void Scheduler::YieldWithLoadBalancing(Thread* thread) { |
| @@ -223,6 +223,7 @@ void Scheduler::YieldWithLoadBalancing(Thread* thread) { | |||
| 223 | ASSERT(priority < THREADPRIO_COUNT); | 223 | ASSERT(priority < THREADPRIO_COUNT); |
| 224 | 224 | ||
| 225 | // Reschedule thread to end of queue. | 225 | // Reschedule thread to end of queue. |
| 226 | Reschedule(); | ||
| 226 | MoveThreadToBackOfPriorityQueue(thread, priority); | 227 | MoveThreadToBackOfPriorityQueue(thread, priority); |
| 227 | 228 | ||
| 228 | Thread* suggested_thread = nullptr; | 229 | Thread* suggested_thread = nullptr; |