Thread_Control *_Scheduler_priority_SMP_Unblock( const Scheduler_Control *scheduler, Thread_Control *thread ) { Scheduler_Context *context = _Scheduler_Get_context( scheduler ); return _Scheduler_SMP_Unblock( context, thread, _Scheduler_priority_SMP_Enqueue_fifo ); }
void _Scheduler_simple_SMP_Unblock( const Scheduler_Control *scheduler, Thread_Control *thread ) { Scheduler_Context *context = _Scheduler_Get_context( scheduler ); _Scheduler_SMP_Unblock( context, thread, _Scheduler_simple_SMP_Enqueue_fifo ); }
/* * This is the public scheduler specific Unblock operation. */ Thread_Control *_Scheduler_priority_affinity_SMP_Unblock( const Scheduler_Control *scheduler, Thread_Control *thread ) { Scheduler_Context *context = _Scheduler_Get_context( scheduler ); Thread_Control *needs_help; needs_help = _Scheduler_SMP_Unblock( context, thread, _Scheduler_priority_SMP_Do_update, _Scheduler_priority_affinity_SMP_Enqueue_fifo ); /* * Perform any thread migrations that are needed due to these changes. */ _Scheduler_priority_affinity_SMP_Check_for_migrations( context ); return needs_help; }