![]() |
RTEMS 6.1-rc1
|
This group contains the Deterministic Priority Scheduler implementation. More...
Files | |
file | schedulerpriority.h |
This header file provides interfaces of the Deterministic Priority Scheduler which are used by the implementation and the Application Configuration. | |
file | schedulerpriorityimpl.h |
This header file provides interfaces of the Deterministic Priority Scheduler which are only used by the implementation. | |
file | schedulerpriority.c |
This source file contains the implementation of _Scheduler_priority_Initialize() and _Scheduler_priority_Node_initialize(). | |
file | schedulerpriorityblock.c |
This source file contains the implementation of _Scheduler_priority_Block(). | |
file | schedulerprioritychangepriority.c |
This source file contains the implementation of _Scheduler_priority_Update_priority(). | |
file | schedulerpriorityschedule.c |
This source file contains the implementation of _Scheduler_priority_Schedule(). | |
file | schedulerpriorityunblock.c |
This source file contains the implementation of _Scheduler_priority_Unblock(). | |
file | schedulerpriorityyield.c |
This source file contains the implementation of _Scheduler_priority_Yield(). | |
Data Structures | |
struct | Scheduler_priority_Context |
struct | Scheduler_priority_Ready_queue |
Data for ready queue operations. More... | |
struct | Scheduler_priority_Node |
Scheduler node specialization for Deterministic Priority schedulers. More... | |
Macros | |
#define | SCHEDULER_PRIORITY_ENTRY_POINTS |
Functions | |
void | _Scheduler_priority_Initialize (const Scheduler_Control *scheduler) |
Initializes the priority scheduler. More... | |
void | _Scheduler_priority_Block (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Blocks the thread. More... | |
void | _Scheduler_priority_Schedule (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
Sets the heir thread to be the next ready thread. More... | |
void | _Scheduler_priority_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Unblocks the thread. More... | |
void | _Scheduler_priority_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *base_node) |
Updates the priority of the node. More... | |
void | _Scheduler_priority_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority) |
Initializes the node with the given priority. More... | |
void | _Scheduler_priority_Yield (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Performs the yield of a thread. More... | |
This group contains the Deterministic Priority Scheduler implementation.
#define SCHEDULER_PRIORITY_ENTRY_POINTS |
Entry points for the Deterministic Priority Based Scheduler.
void _Scheduler_priority_Block | ( | const Scheduler_Control * | scheduler, |
Thread_Control * | the_thread, | ||
Scheduler_Node * | node | ||
) |
Blocks the thread.
scheduler | The scheduler instance. | |
[in,out] | the_thread | The thread to block. |
[in,out] | node | The thread's scheduler node. |
void _Scheduler_priority_Initialize | ( | const Scheduler_Control * | scheduler | ) |
Initializes the priority scheduler.
This routine initializes the priority scheduler.
scheduler | The scheduler to initialize. |
void _Scheduler_priority_Node_initialize | ( | const Scheduler_Control * | scheduler, |
Scheduler_Node * | node, | ||
Thread_Control * | the_thread, | ||
Priority_Control | priority | ||
) |
Initializes the node with the given priority.
scheduler | The scheduler instance. | |
[out] | node | The node to initialize. |
the_thread | The thread of the scheduler node. | |
priority | The priority for the initialization. |
void _Scheduler_priority_Schedule | ( | const Scheduler_Control * | scheduler, |
Thread_Control * | the_thread | ||
) |
Sets the heir thread to be the next ready thread.
This kernel routine sets the heir thread to be the next ready thread by invoking the_scheduler->ready_queue->operations->first().
scheduler | The scheduler instance. |
the_thread | The thread for the operation. |
void _Scheduler_priority_Unblock | ( | const Scheduler_Control * | scheduler, |
Thread_Control * | the_thread, | ||
Scheduler_Node * | node | ||
) |
Unblocks the thread.
scheduler | The scheduler instance. | |
[in,out] | the_thread | The thread to unblock. |
[in,out] | node | The thread's scheduler node. |
void _Scheduler_priority_Update_priority | ( | const Scheduler_Control * | scheduler, |
Thread_Control * | the_thread, | ||
Scheduler_Node * | base_node | ||
) |
Updates the priority of the node.
scheduler | The scheduler instance. |
the_thread | The thread for the operation. |
base_node | The thread's scheduler node. |
void _Scheduler_priority_Yield | ( | const Scheduler_Control * | scheduler, |
Thread_Control * | the_thread, | ||
Scheduler_Node * | node | ||
) |
Performs the yield of a thread.
scheduler | The scheduler instance. | |
[in,out] | the_thread | The thread that performed the yield operation. |
node | The scheduler node of the_thread. |