23 #ifndef _RTEMS_SCORE_SCHEDULERPRIORITYSMP_H 24 #define _RTEMS_SCORE_SCHEDULERPRIORITYSMP_H 81 #define SCHEDULER_PRIORITY_SMP_ENTRY_POINTS \ 83 _Scheduler_priority_SMP_Initialize, \ 84 _Scheduler_default_Schedule, \ 85 _Scheduler_priority_SMP_Yield, \ 86 _Scheduler_priority_SMP_Block, \ 87 _Scheduler_priority_SMP_Unblock, \ 88 _Scheduler_priority_SMP_Update_priority, \ 89 _Scheduler_default_Map_priority, \ 90 _Scheduler_default_Unmap_priority, \ 91 _Scheduler_priority_SMP_Ask_for_help, \ 92 _Scheduler_priority_SMP_Reconsider_help_request, \ 93 _Scheduler_priority_SMP_Withdraw_node, \ 94 _Scheduler_default_Pin_or_unpin, \ 95 _Scheduler_default_Pin_or_unpin, \ 96 _Scheduler_priority_SMP_Add_processor, \ 97 _Scheduler_priority_SMP_Remove_processor, \ 98 _Scheduler_priority_SMP_Node_initialize, \ 99 _Scheduler_default_Node_destroy, \ 100 _Scheduler_default_Release_job, \ 101 _Scheduler_default_Cancel_job, \ 102 _Scheduler_default_Tick, \ 103 _Scheduler_SMP_Start_idle \ 104 SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY \ 213 Thread_Scheduler_state next_state
Scheduler context specialization for SMP schedulers.
Definition: schedulersmp.h:46
uint64_t Priority_Control
The thread priority control.
Definition: priority.h:70
bool _Scheduler_priority_SMP_Ask_for_help(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Asks for help operation.
Definition: schedulerprioritysmp.c:208
Definition: prioritybitmap.h:42
void _Scheduler_priority_SMP_Unblock(const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node)
Unblocks the thread.
Definition: schedulerprioritysmp.c:152
Thread Manipulation with the Priority-Based Scheduler.
Scheduler_SMP_Node Base
SMP scheduler node.
Definition: schedulerprioritysmp.h:70
void _Scheduler_priority_SMP_Block(const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node)
Blocks the thread.
Definition: schedulerprioritysmp.c:93
void _Scheduler_priority_SMP_Initialize(const Scheduler_Control *scheduler)
Initializes the priority SMP scheduler.
Definition: schedulerprioritysmp.c:35
Scheduler context specialization for Deterministic Priority SMP schedulers.
Definition: schedulerprioritysmp.h:56
void _Scheduler_priority_SMP_Yield(const Scheduler_Control *scheduler, Thread_Control *thread, Scheduler_Node *node)
Performs the yield of a thread.
Definition: schedulerprioritysmp.c:287
Scheduler_priority_Ready_queue Ready_queue
The associated ready queue of this node.
Definition: schedulerprioritysmp.h:75
Per CPU Core Structure.
Definition: percpu.h:347
Data for ready queue operations.
Definition: schedulerpriority.h:85
void _Scheduler_priority_SMP_Withdraw_node(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node, Thread_Scheduler_state next_state)
Withdraws node operation.
Definition: schedulerprioritysmp.c:235
Scheduler node specialization for SMP schedulers.
Definition: schedulersmp.h:100
void _Scheduler_priority_SMP_Update_priority(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Updates the priority of the node.
Definition: schedulerprioritysmp.c:188
Thread_Control * _Scheduler_priority_SMP_Remove_processor(const Scheduler_Control *scheduler, struct Per_CPU_Control *cpu)
Removes an idle thread from the given cpu.
Definition: schedulerprioritysmp.c:272
void _Scheduler_priority_SMP_Add_processor(const Scheduler_Control *scheduler, Thread_Control *idle)
Adds idle to scheduler.
Definition: schedulerprioritysmp.c:256
Scheduler control.
Definition: scheduler.h:269
Scheduler node for per-thread data.
Definition: schedulernode.h:79
Scheduler node specialization for Deterministic Priority SMP schedulers.
Definition: schedulerprioritysmp.h:66
void _Scheduler_priority_SMP_Node_initialize(const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority)
Initializes the node with the given priority.
Definition: schedulerprioritysmp.c:48
void _Scheduler_priority_SMP_Reconsider_help_request(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Reconsiders help operation.
Definition: schedulerprioritysmp.c:219
Constants and Structures Associated with the Scheduler.