18 #ifndef _RTEMS_SCORE_SCHEDULERPRIORITYAFFINITYSMP_H 19 #define _RTEMS_SCORE_SCHEDULERPRIORITYAFFINITYSMP_H 26 #include <sys/cpuset.h> 51 #define SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS \ 53 _Scheduler_priority_SMP_Initialize, \ 54 _Scheduler_default_Schedule, \ 55 _Scheduler_priority_SMP_Yield, \ 56 _Scheduler_priority_affinity_SMP_Block, \ 57 _Scheduler_priority_affinity_SMP_Unblock, \ 58 _Scheduler_priority_affinity_SMP_Update_priority, \ 59 _Scheduler_default_Map_priority, \ 60 _Scheduler_default_Unmap_priority, \ 61 _Scheduler_priority_affinity_SMP_Ask_for_help, \ 62 _Scheduler_priority_affinity_SMP_Reconsider_help_request, \ 63 _Scheduler_priority_affinity_SMP_Withdraw_node, \ 64 _Scheduler_default_Pin_or_unpin, \ 65 _Scheduler_default_Pin_or_unpin, \ 66 _Scheduler_priority_affinity_SMP_Add_processor, \ 67 _Scheduler_priority_affinity_SMP_Remove_processor, \ 68 _Scheduler_priority_affinity_SMP_Node_initialize, \ 69 _Scheduler_default_Node_destroy, \ 70 _Scheduler_default_Release_job, \ 71 _Scheduler_default_Cancel_job, \ 72 _Scheduler_default_Tick, \ 73 _Scheduler_SMP_Start_idle, \ 74 _Scheduler_priority_affinity_SMP_Set_affinity \ 95 void _Scheduler_priority_affinity_SMP_Block(
101 void _Scheduler_priority_affinity_SMP_Unblock(
107 void _Scheduler_priority_affinity_SMP_Update_priority(
113 bool _Scheduler_priority_affinity_SMP_Ask_for_help(
119 void _Scheduler_priority_affinity_SMP_Reconsider_help_request(
125 void _Scheduler_priority_affinity_SMP_Withdraw_node(
129 Thread_Scheduler_state next_state
132 void _Scheduler_priority_affinity_SMP_Add_processor(
137 Thread_Control *_Scheduler_priority_affinity_SMP_Remove_processor(
156 const Processor_mask *affinity
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.
Definition: schedulerpriorityaffinitysmp.c:534
Thread Manipulation with the Priority-Based Scheduler.
Scheduler_priority_SMP_Node Base
SMP priority scheduler node.
Definition: schedulerpriorityaffinitysmp.h:169
Deterministic Priority SMP Scheduler API.
uint64_t Priority_Control
The thread priority control.
Definition: priority.h:66
Per CPU Core Structure.
Definition: percpu.h:290
Processor_mask Affinity
The thread processor affinity set.
Definition: schedulerpriorityaffinitysmp.h:174
Scheduler control.
Definition: scheduler.h:266
Scheduler node for per-thread data.
Definition: schedulernode.h:65
Scheduler node specialization for Deterministic Priority SMP schedulers.
Definition: schedulerprioritysmp.h:64
Constants and Structures Associated with the Scheduler.
Scheduler node specialization for Deterministic Priority Affinity SMP schedulers. ...
Definition: schedulerpriorityaffinitysmp.h:165
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.
Definition: schedulerpriorityaffinitysmp.c:63