RTEMS 6.1-rc5
|
This header file provides interfaces of the EDF Scheduler which are used by the implementation and the Application Configuration. More...
#include <rtems/score/priority.h>
#include <rtems/score/scheduler.h>
#include <rtems/score/schedulerpriority.h>
#include <rtems/score/rbtree.h>
#include <limits.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_MAXIMUM_PRIORITY INT_MAX |
#define | SCHEDULER_EDF_ENTRY_POINTS |
Functions | |
void | _Scheduler_EDF_Initialize (const Scheduler_Control *scheduler) |
Initializes EDF scheduler. | |
void | _Scheduler_EDF_Block (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Removes the blocking thread from the ready queue and schedules is only again if the thread is executing or the heir thread. | |
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. | |
void | _Scheduler_EDF_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority) |
Initializes an EDF specific scheduler node of the_thread. | |
void | _Scheduler_EDF_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Performs an unblocking of the thread. | |
void | _Scheduler_EDF_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Updates the priority of the scheduler node. | |
Priority_Control | _Scheduler_EDF_Map_priority (const Scheduler_Control *scheduler, Priority_Control priority) |
Gets the mapped priority map of the priority control. | |
Priority_Control | _Scheduler_EDF_Unmap_priority (const Scheduler_Control *scheduler, Priority_Control priority) |
Gets the unmapped priority map of the priority control. | |
void | _Scheduler_EDF_Yield (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
Executes a thread yield for the thread. | |
void | _Scheduler_EDF_Release_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Node *priority_node, uint64_t deadline, Thread_queue_Context *queue_context) |
Releases a EDF job. | |
void | _Scheduler_EDF_Cancel_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Node *priority_node, Thread_queue_Context *queue_context) |
Cancels a job and removes the thread from the queue context. | |
This header file provides interfaces of the EDF Scheduler which are used by the implementation and the Application Configuration.