RTEMS
5.0.0
|
Modules | |
Deterministic Priority Affinity SMP Scheduler | |
Files | |
file | schedulerprioritysmp.h |
Deterministic Priority SMP Scheduler API. | |
file | schedulerprioritysmpimpl.h |
Deterministic Priority SMP Scheduler API. | |
file | schedulerprioritysmp.c |
Deterministic Priority SMP Scheduler Implementation. | |
Data Structures | |
struct | Scheduler_priority_SMP_Context |
Scheduler context specialization for Deterministic Priority SMP schedulers. More... | |
struct | Scheduler_priority_SMP_Node |
Scheduler node specialization for Deterministic Priority SMP schedulers. More... | |
Macros | |
#define | SCHEDULER_PRIORITY_SMP_ENTRY_POINTS |
Entry points for the Priority SMP Scheduler. More... | |
Functions | |
void | _Scheduler_priority_SMP_Initialize (const Scheduler_Control *scheduler) |
void | _Scheduler_priority_SMP_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority) |
void | _Scheduler_priority_SMP_Block (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node) |
void | _Scheduler_priority_SMP_Unblock (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node) |
void | _Scheduler_priority_SMP_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
bool | _Scheduler_priority_SMP_Ask_for_help (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
void | _Scheduler_priority_SMP_Reconsider_help_request (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
void | _Scheduler_priority_SMP_Withdraw_node (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node, Thread_Scheduler_state next_state) |
void | _Scheduler_priority_SMP_Add_processor (const Scheduler_Control *scheduler, Thread_Control *idle) |
Thread_Control * | _Scheduler_priority_SMP_Remove_processor (const Scheduler_Control *scheduler, struct Per_CPU_Control *cpu) |
void | _Scheduler_priority_SMP_Yield (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node) |
This is an implementation of the global fixed priority scheduler (G-FP). It uses one ready chain per priority to ensure constant time insert operations. The scheduled chain uses linear insert operations and has at most processor count entries. Since the processor and priority count are constants all scheduler operations complete in a bounded execution time.
The thread preempt mode will be ignored.
#define SCHEDULER_PRIORITY_SMP_ENTRY_POINTS |
Entry points for the Priority SMP Scheduler.