21 #ifndef _RTEMS_SCORE_SCHEDULERSIMPLEIMPL_H 22 #define _RTEMS_SCORE_SCHEDULERSIMPLEIMPL_H 61 const void *to_insert,
65 const unsigned int *priority_to_insert;
68 priority_to_insert = (
const unsigned int *) to_insert;
84 unsigned int insert_priority
static __inline__ Chain_Node * _Chain_First(const Chain_Control *the_chain)
Returns pointer to chain's first node.
Chain_Control Ready
One ready queue for all ready threads.
static __inline__ void _Scheduler_simple_Extract(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Extracts the threads node.
Inlined Routines Associated with the Manipulation of the Scheduler.
static __inline__ void _Scheduler_simple_Schedule_body(const Scheduler_Control *scheduler, Thread_Control *the_thread, bool force_dispatch)
Scheduling decision logic.
Simple scheduler context.
static __inline__ void _Scheduler_Update_heir(Thread_Control *new_heir, bool force_dispatch)
Updates the heir.
Manipulation of Threads Simple-Priority-Based Ready Queue.
static __inline__ void _Chain_Extract_unprotected(Chain_Node *the_node)
Extracts this node (unprotected).
static __inline__ Priority_Control _Thread_Get_priority(const Thread_Control *the_thread)
Returns the priority of the thread.
static __inline__ Scheduler_simple_Context * _Scheduler_simple_Get_context(const Scheduler_Control *scheduler)
Gets context of the scheduler.
static __inline__ void _Scheduler_simple_Insert(Chain_Control *chain, Thread_Control *to_insert, unsigned int insert_priority)
Inserts the thread control with the given priority into the chain.
Scheduler node for per-thread data.
static __inline__ Scheduler_Context * _Scheduler_Get_context(const Scheduler_Control *scheduler)
Gets the context of the scheduler.
#define RTEMS_INLINE_ROUTINE
Gives a hint to the compiler in a function declaration to inline this function.
static __inline__ void _Chain_Insert_ordered_unprotected(Chain_Control *the_chain, Chain_Node *to_insert, const void *left, Chain_Node_order order)
Inserts a node into the chain according to the order relation.
static __inline__ bool _Scheduler_simple_Priority_less_equal(const void *to_insert, const Chain_Node *next)
Checks if the priority is less or equal than the priority of the node.