RTEMS 6.1-rc4
Loading...
Searching...
No Matches
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.
 
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.
 

Detailed Description

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