RTEMS CPU Kit with SuperCore  4.11.2
Data Structures | Macros | Enumerations | Functions
scheduleredf.h File Reference

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>
Include dependency graph for scheduleredf.h:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

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.