RTEMS 6.1-rc1
Data Structures | Macros | Functions
scheduleredf.h File Reference

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. More...
 
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. 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, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority)
 Initializes an EDF specific scheduler node of the_thread. More...
 
void _Scheduler_EDF_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Performs an unblocking of the thread. More...
 
void _Scheduler_EDF_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Updates the priority of the scheduler node. More...
 
Priority_Control _Scheduler_EDF_Map_priority (const Scheduler_Control *scheduler, Priority_Control priority)
 Gets the mapped priority map of the priority control. More...
 
Priority_Control _Scheduler_EDF_Unmap_priority (const Scheduler_Control *scheduler, Priority_Control priority)
 Gets the unmapped priority map of the priority control. More...
 
void _Scheduler_EDF_Yield (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Executes a thread yield for the thread. More...
 
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. More...
 
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. More...
 

Detailed Description

This header file provides interfaces of the EDF Scheduler which are used by the implementation and the Application Configuration.