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:
Sebastian Huber
2021-10-29 08:29:51 +02:00
parent b9990b8d46
commit f767ef8059

View File

@@ -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 );
}
}