RTEMS CPU Kit with SuperCore
4.11.3
|
The Simple Priority SMP Scheduler allocates a processor for the processor count highest priority ready threads. More...
![]() |
Files | |
file | schedulersimplesmp.h |
Simple SMP Scheduler API. | |
file | schedulersimplesmp.c |
Simple SMP Scheduler Implementation. | |
Data Structures | |
struct | Scheduler_simple_SMP_Context |
Macros | |
#define | SCHEDULER_SIMPLE_SMP_ENTRY_POINTS |
Entry points for the Simple SMP Scheduler. More... | |
Functions | |
void | _Scheduler_simple_SMP_Initialize (const Scheduler_Control *scheduler) |
void | _Scheduler_simple_SMP_Node_initialize (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
void | _Scheduler_simple_SMP_Block (const Scheduler_Control *scheduler, Thread_Control *thread) |
Thread_Control * | _Scheduler_simple_SMP_Unblock (const Scheduler_Control *scheduler, Thread_Control *thread) |
Thread_Control * | _Scheduler_simple_SMP_Change_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Control new_priority, bool prepend_it) |
Thread_Control * | _Scheduler_simple_SMP_Ask_for_help (const Scheduler_Control *scheduler, Thread_Control *offers_help, Thread_Control *needs_help) |
void | _Scheduler_simple_SMP_Update_priority (const Scheduler_Control *scheduler, Thread_Control *thread, Priority_Control new_priority) |
Thread_Control * | _Scheduler_simple_SMP_Yield (const Scheduler_Control *scheduler, Thread_Control *thread) |
The Simple Priority SMP Scheduler allocates a processor for the processor count highest priority ready threads.
The thread priority and position in the ready chain are the only information to determine the scheduling decision. Threads with an allocated processor are in the scheduled chain. After initialization the scheduled chain has exactly processor count nodes. Each processor has exactly one allocated thread after initialization. All enqueue and extract operations may exchange threads with the scheduled chain. One thread will be added and another will be removed. The scheduled and ready chain is ordered according to the thread priority order. The chain insert operations are O(count of ready threads), thus this scheduler is unsuitable for most real-time applications.
The thread preempt mode will be ignored.
#define SCHEDULER_SIMPLE_SMP_ENTRY_POINTS |
Entry points for the Simple SMP Scheduler.