![]() |
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. |