mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-26 06:08:20 +00:00
score: Simplify _Scheduler_SMP_Yield()
There is not need to actively ask for help in a yield operation. The helping is already done on demand by the other scheduler operations.
This commit is contained in:
@@ -1435,7 +1435,6 @@ static inline void _Scheduler_SMP_Yield(
|
||||
Scheduler_SMP_Enqueue_scheduled enqueue_scheduled
|
||||
)
|
||||
{
|
||||
bool needs_help;
|
||||
Scheduler_SMP_Node_state node_state;
|
||||
Priority_Control insert_priority;
|
||||
|
||||
@@ -1446,17 +1445,9 @@ static inline void _Scheduler_SMP_Yield(
|
||||
if ( node_state == SCHEDULER_SMP_NODE_SCHEDULED ) {
|
||||
( *extract_from_scheduled )( context, node );
|
||||
( *enqueue_scheduled )( context, node, insert_priority );
|
||||
needs_help = false;
|
||||
} else if ( node_state == SCHEDULER_SMP_NODE_READY ) {
|
||||
( *extract_from_ready )( context, node );
|
||||
|
||||
needs_help = ( *enqueue )( context, node, insert_priority );
|
||||
} else {
|
||||
needs_help = true;
|
||||
}
|
||||
|
||||
if ( needs_help ) {
|
||||
_Scheduler_Ask_for_help( thread );
|
||||
(void) ( *enqueue )( context, node, insert_priority );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user