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...
|
| 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 .
|
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().
◆ STRONG_SCHEDULER_NODE_OF_CHAIN
| #define STRONG_SCHEDULER_NODE_OF_CHAIN |
( |
| node | ) |
|
Value:
#define RTEMS_CONTAINER_OF(_m, _type, _member_name)
Gets the container of a member.
Definition basedefs.h:306
Scheduler node specialization for Strong APA schedulers.
Definition schedulerstrongapa.h:74