RTEMS 6.1-rc4
Loading...
Searching...
No Matches
Macros | Functions
schedulerstrongapa.c File Reference

This source file contains the implementation of _Scheduler_strong_APA_Add_processor(), _Scheduler_strong_APA_Allocate_processor(), _Scheduler_strong_APA_Ask_for_help(), _Scheduler_strong_APA_Block(), _Scheduler_strong_APA_Do_ask_for_help(), _Scheduler_strong_APA_Do_enqueue(), _Scheduler_strong_APA_Do_set_affinity(), _Scheduler_strong_APA_Do_update(), _Scheduler_strong_APA_Enqueue(), _Scheduler_strong_APA_Enqueue_scheduled(), _Scheduler_strong_APA_Extract_from_ready(), _Scheduler_strong_APA_Extract_from_scheduled(), _Scheduler_strong_APA_Find_highest_ready(), _Scheduler_strong_APA_Get_highest_ready(), _Scheduler_strong_APA_Get_lowest_reachable(), _Scheduler_strong_APA_Get_lowest_scheduled(), _Scheduler_strong_APA_Has_ready(), _Scheduler_strong_APA_Initialize(), _Scheduler_strong_APA_Insert_ready(), _Scheduler_strong_APA_Move_from_ready_to_scheduled(), _Scheduler_strong_APA_Move_from_scheduled_to_ready(), _Scheduler_strong_APA_Node_initialize(), _Scheduler_strong_APA_Reconsider_help_request(), _Scheduler_strong_APA_Register_idle(), _Scheduler_strong_APA_Remove_processor(), _Scheduler_strong_APA_Set_affinity(), _Scheduler_strong_APA_Set_scheduled(), _Scheduler_strong_APA_Start_idle(), _Scheduler_strong_APA_Unblock(), _Scheduler_strong_APA_Update_priority(), _Scheduler_strong_APA_Withdraw_node(), _Scheduler_strong_APA_Make_sticky(), _Scheduler_strong_APA_Clean_sticky(), and _Scheduler_strong_APA_Yield(). More...

#include <rtems/score/schedulerstrongapa.h>
#include <rtems/score/schedulersmpimpl.h>
#include <rtems/score/assert.h>

Macros

#define STRONG_SCHEDULER_NODE_OF_CHAIN(node)    RTEMS_CONTAINER_OF( node, Scheduler_strong_APA_Node, Ready_node )
 

Functions

void _Scheduler_strong_APA_Initialize (const Scheduler_Control *scheduler)
 Initializes the scheduler.
 
void _Scheduler_strong_APA_Yield (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node)
 Performs a yield operation.
 
void _Scheduler_strong_APA_Block (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node)
 Blocks the thread.
 
void _Scheduler_strong_APA_Unblock (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node)
 Unblocks the thread.
 
void _Scheduler_strong_APA_Update_priority (const Scheduler_Control *scheduler, Thread_Control *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_Add_processor (const Scheduler_Control *scheduler, Thread_Control *idle)
 Adds the idle thread to a processor.
 
void _Scheduler_strong_APA_Start_idle (const Scheduler_Control *scheduler, Thread_Control *idle, Per_CPU_Control *cpu)
 Starts an idle thread.
 
Thread_Control_Scheduler_strong_APA_Remove_processor (const Scheduler_Control *scheduler, Per_CPU_Control *cpu)
 Removes an idle thread from the given cpu.
 
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.
 
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 source file contains the implementation of _Scheduler_strong_APA_Add_processor(), _Scheduler_strong_APA_Allocate_processor(), _Scheduler_strong_APA_Ask_for_help(), _Scheduler_strong_APA_Block(), _Scheduler_strong_APA_Do_ask_for_help(), _Scheduler_strong_APA_Do_enqueue(), _Scheduler_strong_APA_Do_set_affinity(), _Scheduler_strong_APA_Do_update(), _Scheduler_strong_APA_Enqueue(), _Scheduler_strong_APA_Enqueue_scheduled(), _Scheduler_strong_APA_Extract_from_ready(), _Scheduler_strong_APA_Extract_from_scheduled(), _Scheduler_strong_APA_Find_highest_ready(), _Scheduler_strong_APA_Get_highest_ready(), _Scheduler_strong_APA_Get_lowest_reachable(), _Scheduler_strong_APA_Get_lowest_scheduled(), _Scheduler_strong_APA_Has_ready(), _Scheduler_strong_APA_Initialize(), _Scheduler_strong_APA_Insert_ready(), _Scheduler_strong_APA_Move_from_ready_to_scheduled(), _Scheduler_strong_APA_Move_from_scheduled_to_ready(), _Scheduler_strong_APA_Node_initialize(), _Scheduler_strong_APA_Reconsider_help_request(), _Scheduler_strong_APA_Register_idle(), _Scheduler_strong_APA_Remove_processor(), _Scheduler_strong_APA_Set_affinity(), _Scheduler_strong_APA_Set_scheduled(), _Scheduler_strong_APA_Start_idle(), _Scheduler_strong_APA_Unblock(), _Scheduler_strong_APA_Update_priority(), _Scheduler_strong_APA_Withdraw_node(), _Scheduler_strong_APA_Make_sticky(), _Scheduler_strong_APA_Clean_sticky(), and _Scheduler_strong_APA_Yield().