mirror of
https://github.com/starr-dusT/yuzu-mainline
synced 2024-03-05 21:12:25 -08:00
cpu_manager: properly check idle on return from preemption
This commit is contained in:
parent
603952bc27
commit
2c1e2c63c3
@ -194,7 +194,9 @@ void CpuManager::PreemptSingleCore(bool from_running_enviroment) {
|
|||||||
{
|
{
|
||||||
auto& scheduler = system.Kernel().Scheduler(current_core);
|
auto& scheduler = system.Kernel().Scheduler(current_core);
|
||||||
scheduler.Reload(scheduler.GetSchedulerCurrentThread());
|
scheduler.Reload(scheduler.GetSchedulerCurrentThread());
|
||||||
idle_count = 0;
|
if (!scheduler.IsIdle()) {
|
||||||
|
idle_count = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,6 +55,11 @@ public:
|
|||||||
return idle_thread;
|
return idle_thread;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns true if the scheduler is idle
|
||||||
|
[[nodiscard]] bool IsIdle() const {
|
||||||
|
return GetSchedulerCurrentThread() == idle_thread;
|
||||||
|
}
|
||||||
|
|
||||||
/// Gets the timestamp for the last context switch in ticks.
|
/// Gets the timestamp for the last context switch in ticks.
|
||||||
[[nodiscard]] u64 GetLastContextSwitchTicks() const;
|
[[nodiscard]] u64 GetLastContextSwitchTicks() const;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user