mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 07:59:02 -05:00 
			
		
		
		
	threading: Reschedule only on cores that are necessary.
This commit is contained in:
		| @@ -625,7 +625,7 @@ static ResultCode WaitProcessWideKeyAtomic(VAddr mutex_addr, VAddr condition_var | ||||
|  | ||||
|     // Note: Deliberately don't attempt to inherit the lock owner's priority. | ||||
|  | ||||
|     Core::System::GetInstance().PrepareReschedule(); | ||||
|     Core::System::GetInstance().CpuCore(current_thread->processor_id).PrepareReschedule(); | ||||
|     return RESULT_SUCCESS; | ||||
| } | ||||
|  | ||||
| @@ -678,7 +678,7 @@ static ResultCode SignalProcessWideKey(VAddr condition_variable_addr, s32 target | ||||
|  | ||||
|                 owner->AddMutexWaiter(thread); | ||||
|  | ||||
|                 Core::System::GetInstance().PrepareReschedule(); | ||||
|                 Core::System::GetInstance().CpuCore(thread->processor_id).PrepareReschedule(); | ||||
|             } | ||||
|  | ||||
|             ++processed; | ||||
|   | ||||
| @@ -189,7 +189,7 @@ void Thread::ResumeFromWait() { | ||||
|  | ||||
|     status = THREADSTATUS_READY; | ||||
|     scheduler->ScheduleThread(this, current_priority); | ||||
|     Core::System::GetInstance().PrepareReschedule(); | ||||
|     Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule(); | ||||
| } | ||||
|  | ||||
| /** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei