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

This header file provides the interfaces of the Strong APA Scheduler. More...

#include <rtems/score/scheduler.h>
#include <rtems/score/schedulersmp.h>

Go to the source code of this file.

Data Structures

struct  Scheduler_strong_APA_Node
 Scheduler node specialization for Strong APA schedulers. More...
 
struct  Scheduler_strong_APA_CPU
 CPU related variables and a CPU_Control to implement BFS. More...
 
struct  Scheduler_strong_APA_Context
 Scheduler context and node definition for Strong APA scheduler. More...
 

Macros

#define SCHEDULER_STRONG_APA_MAXIMUM_PRIORITY   255
 
#define SCHEDULER_STRONG_APA_ENTRY_POINTS
 Entry points for the Strong APA Scheduler. More...
 

Functions

void _Scheduler_strong_APA_Initialize (const Scheduler_Control *scheduler)
 Initializes the scheduler. More...
 
void _Scheduler_strong_APA_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority)
 Initializes the node with the given priority. More...
 
void _Scheduler_strong_APA_Block (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Blocks the thread. More...
 
void _Scheduler_strong_APA_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Unblocks the thread. More...
 
void _Scheduler_strong_APA_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Updates the priority of the node. More...
 
bool _Scheduler_strong_APA_Ask_for_help (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Asks for help. More...
 
void _Scheduler_strong_APA_Reconsider_help_request (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Reconsiders help request. More...
 
void _Scheduler_strong_APA_Withdraw_node (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node, Thread_Scheduler_state next_state)
 Withdraws the node. More...
 
void _Scheduler_strong_APA_Make_sticky (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Makes the node sticky. More...
 
void _Scheduler_strong_APA_Clean_sticky (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Cleans the sticky property from the node. More...
 
void _Scheduler_strong_APA_sticky (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Cleans the sticky property from the node. More...
 
void _Scheduler_strong_APA_Add_processor (const Scheduler_Control *scheduler, Thread_Control *idle)
 Adds the idle thread to a processor. More...
 
Thread_Control_Scheduler_strong_APA_Remove_processor (const Scheduler_Control *scheduler, struct Per_CPU_Control *cpu)
 Removes an idle thread from the given cpu. More...
 
void _Scheduler_strong_APA_Yield (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Performs a yield operation. More...
 
void _Scheduler_strong_APA_Start_idle (const Scheduler_Control *scheduler, Thread_Control *idle, struct Per_CPU_Control *cpu)
 Starts an idle thread. More...
 
Status_Control _Scheduler_strong_APA_Set_affinity (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node_base, const Processor_mask *affinity)
 Sets the affinity . More...
 

Detailed Description

This header file provides the interfaces of the Strong APA Scheduler.