19 #ifndef _RTEMS_SCORE_SCHEDULERPRIORITY_H 20 #define _RTEMS_SCORE_SCHEDULERPRIORITY_H 40 #define SCHEDULER_PRIORITY_ENTRY_POINTS \ 42 _Scheduler_priority_Initialize, \ 43 _Scheduler_priority_Schedule, \ 44 _Scheduler_priority_Yield, \ 45 _Scheduler_priority_Block, \ 46 _Scheduler_priority_Unblock, \ 47 _Scheduler_priority_Change_priority, \ 48 SCHEDULER_OPERATION_DEFAULT_ASK_FOR_HELP \ 49 _Scheduler_default_Node_initialize, \ 50 _Scheduler_default_Node_destroy, \ 51 _Scheduler_priority_Update_priority, \ 52 _Scheduler_priority_Priority_compare, \ 53 _Scheduler_default_Release_job, \ 54 _Scheduler_default_Tick, \ 55 _Scheduler_default_Start_idle \ 56 SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY \ 160 Scheduler_Void_or_thread _Scheduler_priority_Change_priority(
Scheduler control.
Definition: scheduler.h:192
int _Scheduler_priority_Priority_compare(Priority_Control p1, Priority_Control p2)
Compare two priorities.
Definition: schedulerpriorityprioritycompare.c:23
Chain_Control * ready_chain
This field points to the Ready FIFO for this thread's priority.
Definition: schedulerpriority.h:81
Scheduler context.
Definition: scheduler.h:180
Definition: schedulerpriority.h:59
void _Scheduler_priority_Block(const Scheduler_Control *scheduler, Thread_Control *the_thread)
Removes the_thread from the scheduling decision.
Definition: schedulerpriorityblock.c:25
Definition: prioritybitmap.h:40
Priority_bit_map_Information Priority_map
This field contains precalculated priority map indices.
Definition: schedulerpriority.h:84
Scheduler_Node Base
Basic scheduler node.
Definition: schedulerpriority.h:94
This is used to manage a chain.
Definition: chain.h:83
uint32_t Priority_Control
The following type defines the control block used to manage thread priorities.
Definition: priority.h:56
This structure defines the Thread Control Block (TCB).
Definition: thread.h:671
Priority_bit_map_Control Bit_map
Bit map to indicate non-empty ready queues.
Definition: schedulerpriority.h:68
Data for ready queue operations.
Definition: schedulerpriority.h:79
Scheduler_Void_or_thread _Scheduler_priority_Unblock(const Scheduler_Control *scheduler, Thread_Control *the_thread)
Add the_thread to the scheduling decision.
Definition: schedulerpriorityunblock.c:25
Scheduler_priority_Ready_queue Ready_queue
The associated ready queue of this node.
Definition: schedulerpriority.h:99
Constants and Structures Associated with the Scheduler.
Scheduler node specialization for Deterministic Priority schedulers.
Definition: schedulerpriority.h:90
Scheduler_Context Base
Basic scheduler context.
Definition: schedulerpriority.h:63
void _Scheduler_priority_Update_priority(const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Control new_priority)
Updates the scheduler node to reflect the new priority of the thread.
Definition: schedulerpriorityupdate.c:23
Manipulation Routines for the Bitmap Priority Queue Implementation.
Scheduler node for per-thread data.
Definition: scheduler.h:281
Scheduler_Void_or_thread _Scheduler_priority_Yield(const Scheduler_Control *scheduler, Thread_Control *the_thread)
The specified THREAD yields.
Definition: schedulerpriorityyield.c:24
void _Scheduler_priority_Initialize(const Scheduler_Control *scheduler)
Initializes the priority scheduler.
Definition: schedulerpriority.c:24
void _Scheduler_priority_Schedule(const Scheduler_Control *scheduler, Thread_Control *the_thread)
Sets the heir thread to be the next ready thread.
Definition: schedulerpriorityschedule.c:23