18 #ifndef _RTEMS_SCORE_SCHEDULERPRIORITYAFFINITYSMP_H 19 #define _RTEMS_SCORE_SCHEDULERPRIORITYAFFINITYSMP_H 50 #define SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS \ 52 _Scheduler_priority_SMP_Initialize, \ 53 _Scheduler_default_Schedule, \ 54 _Scheduler_priority_SMP_Yield, \ 55 _Scheduler_priority_affinity_SMP_Block, \ 56 _Scheduler_priority_affinity_SMP_Unblock, \ 57 _Scheduler_priority_affinity_SMP_Change_priority, \ 58 _Scheduler_priority_affinity_SMP_Ask_for_help, \ 59 _Scheduler_priority_affinity_SMP_Node_initialize, \ 60 _Scheduler_default_Node_destroy, \ 61 _Scheduler_priority_SMP_Update_priority, \ 62 _Scheduler_priority_Priority_compare, \ 63 _Scheduler_default_Release_job, \ 64 _Scheduler_default_Tick, \ 65 _Scheduler_SMP_Start_idle, \ 66 _Scheduler_priority_affinity_SMP_Get_affinity, \ 67 _Scheduler_priority_affinity_SMP_Set_affinity \ 164 const cpu_set_t *cpuset
Scheduler control.
Definition: scheduler.h:192
void _Scheduler_priority_affinity_SMP_Block(const Scheduler_Control *scheduler, Thread_Control *thread)
SMP Priority Affinity Scheduler Block Operation.
Definition: schedulerpriorityaffinitysmp.c:221
Information About the CPU Set.
Thread Manipulation with the Priority-Based Scheduler.
Scheduler_priority_SMP_Node Base
SMP priority scheduler node.
Definition: schedulerpriorityaffinitysmp.h:177
Deterministic Priority SMP Scheduler API.
uint32_t Priority_Control
The following type defines the control block used to manage thread priorities.
Definition: priority.h:56
CPU_set_Control Affinity
Structure containing affinity set data and size.
Definition: schedulerpriorityaffinitysmp.h:182
This structure defines the Thread Control Block (TCB).
Definition: thread.h:671
Thread_Control * _Scheduler_priority_affinity_SMP_Change_priority(const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Control new_priority, bool prepend_it)
Change priority for the priority affinity SMP scheduler.
Definition: schedulerpriorityaffinitysmp.c:538
bool _Scheduler_priority_affinity_SMP_Set_affinity(const Scheduler_Control *scheduler, Thread_Control *thread, size_t cpusetsize, const cpu_set_t *cpuset)
Set affinity for the priority affinity SMP scheduler.
Definition: schedulerpriorityaffinitysmp.c:612
Constants and Structures Associated with the Scheduler.
bool _Scheduler_priority_affinity_SMP_Get_affinity(const Scheduler_Control *scheduler, Thread_Control *thread, size_t cpusetsize, cpu_set_t *cpuset)
Get affinity for the priority affinity SMP scheduler.
Definition: schedulerpriorityaffinitysmp.c:592
Thread_Control * _Scheduler_priority_affinity_SMP_Unblock(const Scheduler_Control *scheduler, Thread_Control *thread)
SMP Priority Affinity Scheduler Unblock Operation.
Definition: schedulerpriorityaffinitysmp.c:401
void _Scheduler_priority_affinity_SMP_Node_initialize(const Scheduler_Control *scheduler, Thread_Control *thread)
Initializes per thread scheduler information.
Definition: schedulerpriorityaffinitysmp.c:97
Scheduler node specialization for Deterministic Priority SMP schedulers.
Definition: schedulerprioritysmp.h:64
Scheduler node specialization for Deterministic Priority Affinity SMP schedulers. ...
Definition: schedulerpriorityaffinitysmp.h:173