RTEMS CPU Kit with SuperCore
4.11.2
|
Data Related to the Manipulation of Threads for the EDF Scheduler. More...
#include <rtems/score/priority.h>
#include <rtems/score/scheduler.h>
#include <rtems/score/schedulerpriority.h>
#include <rtems/score/rbtree.h>
Go to the source code of this file.
Data Structures | |
struct | Scheduler_EDF_Context |
struct | Scheduler_EDF_Node |
Scheduler node specialization for EDF schedulers. More... | |
Macros | |
#define | SCHEDULER_EDF_ENTRY_POINTS |
Entry points for the Earliest Deadline First Scheduler. More... | |
#define | SCHEDULER_EDF_PRIO_MSB 0x80000000 |
This is just a most significant bit of Priority_Control type. More... | |
Enumerations | |
enum | Scheduler_EDF_Queue_state { SCHEDULER_EDF_QUEUE_STATE_NOT_PRESENTLY, SCHEDULER_EDF_QUEUE_STATE_YES, SCHEDULER_EDF_QUEUE_STATE_NEVER_HAS_BEEN } |
This enumeration distiguishes state of a thread with respect to the ready queue. | |
Functions | |
void | _Scheduler_EDF_Initialize (const Scheduler_Control *scheduler) |
Initialize EDF scheduler. More... | |
void | _Scheduler_EDF_Block (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
Removes thread from ready queue. More... | |
void | _Scheduler_EDF_Schedule (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
Sets the heir thread to be the next ready thread in the rbtree ready queue. More... | |
void | _Scheduler_EDF_Node_initialize (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
Initializes an EDF specific scheduler node of the_thread. More... | |
void | _Scheduler_EDF_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Control new_priority) |
Updates position in the ready queue of the_thread. More... | |
Scheduler_Void_or_thread | _Scheduler_EDF_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
Adds the_thread to the scheduling decision. More... | |
Scheduler_Void_or_thread | _Scheduler_EDF_Change_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Control new_priority, bool prepend_it) |
Scheduler_Void_or_thread | _Scheduler_EDF_Yield (const Scheduler_Control *scheduler, Thread_Control *the_thread) |
invoked when a thread wishes to voluntarily transfer control of the processor to another thread with equal deadline. More... | |
int | _Scheduler_EDF_Priority_compare (Priority_Control p1, Priority_Control p2) |
Explicitly compare absolute dedlines (priorities) of threads. More... | |
void | _Scheduler_EDF_Release_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, uint32_t deadline) |
Called when a new job of task is released. More... | |
Data Related to the Manipulation of Threads for the EDF Scheduler.
This include file contains all the constants and structures associated with the manipulation of threads for the EDF scheduler.