Scheduler: Set last running time on thread.

This commit is contained in:
Fernando Sahmkow 2020-03-08 21:13:18 -04:00
parent 9e9c287f8b
commit 391f5f360d
2 changed files with 2 additions and 4 deletions

View file

@ -616,6 +616,7 @@ void Scheduler::SwitchContextStep2() {
// Cancel any outstanding wakeup events for this thread // Cancel any outstanding wakeup events for this thread
new_thread->SetIsRunning(true); new_thread->SetIsRunning(true);
new_thread->last_running_ticks = system.CoreTiming().GetCPUTicks();
auto* const thread_owner_process = current_thread->GetOwnerProcess(); auto* const thread_owner_process = current_thread->GetOwnerProcess();
if (previous_process != thread_owner_process && thread_owner_process != nullptr) { if (previous_process != thread_owner_process && thread_owner_process != nullptr) {
@ -654,6 +655,7 @@ void Scheduler::SwitchContext() {
// Save context for previous thread // Save context for previous thread
if (previous_thread) { if (previous_thread) {
previous_thread->last_running_ticks = system.CoreTiming().GetCPUTicks();
if (!previous_thread->IsHLEThread()) { if (!previous_thread->IsHLEThread()) {
auto& cpu_core = system.ArmInterface(core_id); auto& cpu_core = system.ArmInterface(core_id);
cpu_core.SaveContext(previous_thread->GetContext32()); cpu_core.SaveContext(previous_thread->GetContext32());

View file

@ -295,10 +295,6 @@ void Thread::SetStatus(ThreadStatus new_status) {
break; break;
} }
if (status == ThreadStatus::Running) {
last_running_ticks = Core::System::GetInstance().CoreTiming().GetCPUTicks();
}
status = new_status; status = new_status;
} }