![]() |
RTEMS
5.0.0
|
Files | |
| file | schedulerpriorityaffinitysmp.h |
| Deterministic Priority Affinity SMP Scheduler API. | |
| file | schedulerpriorityaffinitysmp.c |
| Deterministic Priority Affinity SMP Scheduler Implementation. | |
Data Structures | |
| struct | Scheduler_priority_affinity_SMP_Node |
| Scheduler node specialization for Deterministic Priority Affinity SMP schedulers. More... | |
Macros | |
| #define | SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS |
| Entry points for the Deterministic Priority Affinity SMP Scheduler. More... | |
Functions | |
| void | _Scheduler_priority_affinity_SMP_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority) |
| Initializes per thread scheduler information. More... | |
| void | _Scheduler_priority_affinity_SMP_Block (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node) |
| void | _Scheduler_priority_affinity_SMP_Unblock (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node) |
| void | _Scheduler_priority_affinity_SMP_Update_priority (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
| bool | _Scheduler_priority_affinity_SMP_Ask_for_help (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
| void | _Scheduler_priority_affinity_SMP_Reconsider_help_request (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node) |
| void | _Scheduler_priority_affinity_SMP_Withdraw_node (const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node, Thread_Scheduler_state next_state) |
| void | _Scheduler_priority_affinity_SMP_Add_processor (const Scheduler_Control *scheduler, Thread_Control *idle) |
| Thread_Control * | _Scheduler_priority_affinity_SMP_Remove_processor (const Scheduler_Control *scheduler, struct Per_CPU_Control *cpu) |
| bool | _Scheduler_priority_affinity_SMP_Set_affinity (const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node, const Processor_mask *affinity) |
| Set affinity for the priority affinity SMP scheduler. More... | |
This is an extension of the Deterministic Priority SMP Scheduler. which is an implementation of the global fixed priority scheduler (G-FP). It adds thread to core affinity support.
| #define SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS |
Entry points for the Deterministic Priority Affinity SMP Scheduler.
| void _Scheduler_priority_affinity_SMP_Node_initialize | ( | const Scheduler_Control * | scheduler, |
| Scheduler_Node * | node, | ||
| Thread_Control * | the_thread, | ||
| Priority_Control | priority | ||
| ) |
Initializes per thread scheduler information.
This routine allocates thread->scheduler.
| [in] | scheduler | points to the scheduler specific information. |
| [in] | node | is the node the scheduler is allocating management memory for. |
| [in] | the_thread | the thread of the node. |
| [in] | priority | is the thread priority. |
| bool _Scheduler_priority_affinity_SMP_Set_affinity | ( | const Scheduler_Control * | scheduler, |
| Thread_Control * | thread, | ||
| Scheduler_Node * | node, | ||
| const Processor_mask * | affinity | ||
| ) |
Set affinity for the priority affinity SMP scheduler.
| [in] | scheduler | The scheduler of the thread. |
| [in] | thread | The associated thread. |
| [in] | affinity | The new affinity set. |
| true | if successful |
| false | if unsuccessful |
1.8.13