score: Rename _Scheduler_Set_idle_thread()

Rename _Scheduler_Set_idle_thread() in _Scheduler_Node_set_idle_user() and move
it to <rtems/score/schedulernodeimpl.h>.

Update #4531.
This commit is contained in:
Sebastian Huber
2021-10-18 09:05:30 +02:00
parent 577262a737
commit 45e942d1ae
2 changed files with 23 additions and 22 deletions

View File

@@ -899,26 +899,6 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Thread_change_state(
the_thread->Scheduler.state = new_state;
}
/**
* @brief Sets the scheduler node's idle thread.
*
* @param[in, out] node The node to receive an idle thread.
* @param idle The idle thread control for the operation.
*/
RTEMS_INLINE_ROUTINE void _Scheduler_Set_idle_thread(
Scheduler_Node *node,
Thread_Control *idle
)
{
_Assert( _Scheduler_Node_get_idle( node ) == NULL );
_Assert(
_Scheduler_Node_get_owner( node ) == _Scheduler_Node_get_user( node )
);
_Scheduler_Node_set_user( node, idle );
node->idle = idle;
}
/**
* @brief Uses an idle thread for this scheduler node.
*
@@ -941,7 +921,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Use_idle_thread(
{
Thread_Control *idle = ( *get_idle_thread )( context );
_Scheduler_Set_idle_thread( node, idle );
_Scheduler_Node_set_idle_user( node, idle );
_Thread_Set_CPU( idle, cpu );
return idle;
}
@@ -1079,7 +1059,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Exchange_idle_thread(
uses_idle,
_Scheduler_Node_get_owner( uses_idle )
);
_Scheduler_Set_idle_thread( needs_idle, idle );
_Scheduler_Node_set_idle_user( needs_idle, idle );
}
/**

View File

@@ -264,6 +264,27 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_Node_get_idle(
{
return node->idle;
}
/**
* @brief Sets the scheduler node's user to the idle thread.
*
* @param[in, out] node is the node to receive an idle thread.
*
* @param idle is the idle thread to use.
*/
RTEMS_INLINE_ROUTINE void _Scheduler_Node_set_idle_user(
Scheduler_Node *node,
Thread_Control *idle
)
{
_Assert( _Scheduler_Node_get_idle( node ) == NULL );
_Assert(
_Scheduler_Node_get_owner( node ) == _Scheduler_Node_get_user( node )
);
_Scheduler_Node_set_user( node, idle );
node->idle = idle;
}
#endif
#ifdef __cplusplus