RTEMS 6.3
Loading...
Searching...
No Matches
schedulerstrongapa.h File Reference

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

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.

Functions

void _Scheduler_strong_APA_Initialize (const Scheduler_Control *scheduler)
 Initializes the scheduler.
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.
void _Scheduler_strong_APA_Block (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Blocks the thread.
void _Scheduler_strong_APA_Unblock (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Unblocks the thread.
void _Scheduler_strong_APA_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Updates the priority of the node.
bool _Scheduler_strong_APA_Ask_for_help (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Asks for help.
void _Scheduler_strong_APA_Reconsider_help_request (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Reconsiders help request.
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.
void _Scheduler_strong_APA_Make_sticky (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Makes the node sticky.
void _Scheduler_strong_APA_Clean_sticky (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Cleans the sticky property from the node.
void _Scheduler_strong_APA_sticky (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Cleans the sticky property from the node.
void _Scheduler_strong_APA_Add_processor (const Scheduler_Control *scheduler, Thread_Control *idle)
 Adds the idle thread to a processor.
Thread_Control * _Scheduler_strong_APA_Remove_processor (const Scheduler_Control *scheduler, struct Per_CPU_Control *cpu)
 Removes an idle thread from the given cpu.
void _Scheduler_strong_APA_Yield (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
 Performs a yield operation.
void _Scheduler_strong_APA_Start_idle (const Scheduler_Control *scheduler, Thread_Control *idle, struct Per_CPU_Control *cpu)
 Starts an idle thread.
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 .

Detailed Description

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