mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-04 04:34:07 +01: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);
 | 
			
		||||
        scheduler.Reload(scheduler.GetSchedulerCurrentThread());
 | 
			
		||||
        idle_count = 0;
 | 
			
		||||
        if (!scheduler.IsIdle()) {
 | 
			
		||||
            idle_count = 0;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -55,6 +55,11 @@ public:
 | 
			
		||||
        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.
 | 
			
		||||
    [[nodiscard]] u64 GetLastContextSwitchTicks() const;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user