Scheduler Strong APA
Release
|
Strong APA Scheduler API. More...
#include <rtems/score/scheduler.h>
#include <rtems/score/schedulersmp.h>
#include <rtems/score/percpu.h>
Go to the source code of this file.
Classes | |
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 | STRONG_SCHEDULER_NODE_OF_CHAIN(node) RTEMS_CONTAINER_OF( node, Scheduler_strong_APA_Node, Ready_node ) |
#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_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... | |
bool | _Scheduler_strong_APA_Set_affinity (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node_base, const Processor_mask *affinity) |
Sets the affinity . More... | |
Strong APA Scheduler API.
Definition in file schedulerstrongapa.h.
#define STRONG_SCHEDULER_NODE_OF_CHAIN | ( | node | ) | RTEMS_CONTAINER_OF( node, Scheduler_strong_APA_Node, Ready_node ) |
Definition at line 47 of file schedulerstrongapa.h.