Kernel: Correct redundant yields to only advance time forward.
This commit is contained in:
parent
7176857177
commit
27d571c084
1 changed files with 5 additions and 3 deletions
|
@ -1577,10 +1577,12 @@ static void SleepThread(Core::System& system, s64 nanoseconds) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (redundant) {
|
if (redundant) {
|
||||||
system.CoreTiming().Idle();
|
// If it's redundant, the core is pretty much idle. Some games keep idling
|
||||||
} else {
|
// a core while it's doing nothing, we advance timing to avoid costly continuos
|
||||||
system.PrepareReschedule(current_thread->GetProcessorID());
|
// calls.
|
||||||
|
system.CoreTiming().AddTicks(2000);
|
||||||
}
|
}
|
||||||
|
system.PrepareReschedule(current_thread->GetProcessorID());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Wait process wide key atomic
|
/// Wait process wide key atomic
|
||||||
|
|
Loading…
Reference in a new issue