From: Tian Ye <tia...@sugon.com> --- .../rtems/score/schedulerpriorityaffinitysmp.h | 7 ++++++- .../score/src/schedulerpriorityaffinitysmp.c | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/cpukit/include/rtems/score/schedulerpriorityaffinitysmp.h b/cpukit/include/rtems/score/schedulerpriorityaffinitysmp.h index 498ffcb7aa..bac3ad786e 100644 --- a/cpukit/include/rtems/score/schedulerpriorityaffinitysmp.h +++ b/cpukit/include/rtems/score/schedulerpriorityaffinitysmp.h @@ -54,7 +54,7 @@ extern "C" { { \ _Scheduler_priority_SMP_Initialize, \ _Scheduler_default_Schedule, \ - _Scheduler_priority_SMP_Yield, \ + _Scheduler_priority_affinity_SMP_Yield, \ _Scheduler_priority_affinity_SMP_Block, \ _Scheduler_priority_affinity_SMP_Unblock, \ _Scheduler_priority_affinity_SMP_Update_priority, \ @@ -107,6 +107,11 @@ void _Scheduler_priority_affinity_SMP_Block( Scheduler_Node *node ); +void _Scheduler_priority_affinity_SMP_Yield( + const Scheduler_Control *scheduler, + Thread_Control *thread, + Scheduler_Node *node +); /** * @brief Unblocks a thread. * diff --git a/cpukit/score/src/schedulerpriorityaffinitysmp.c b/cpukit/score/src/schedulerpriorityaffinitysmp.c index 86ef7bf83e..d59917340d 100644 --- a/cpukit/score/src/schedulerpriorityaffinitysmp.c +++ b/cpukit/score/src/schedulerpriorityaffinitysmp.c @@ -576,3 +576,21 @@ bool _Scheduler_priority_affinity_SMP_Set_affinity( return true; } + +void _Scheduler_priority_affinity_SMP_Yield( + const Scheduler_Control *scheduler, + Thread_Control *thread, + Scheduler_Node *node +) +{ + Scheduler_Context *context = _Scheduler_Get_context( scheduler ); + + _Scheduler_SMP_Yield( + context, + thread, + node, + _Scheduler_priority_SMP_Extract_from_ready, + _Scheduler_priority_affinity_SMP_Enqueue, + _Scheduler_priority_affinity_SMP_Enqueue_scheduled + ); +} -- 2.25.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel