39#ifndef _RTEMS_SCORE_SCHEDULERPRIORITY_H
40#define _RTEMS_SCORE_SCHEDULERPRIORITY_H
64#define SCHEDULER_PRIORITY_ENTRY_POINTS \
66 _Scheduler_priority_Initialize, \
67 _Scheduler_priority_Schedule, \
68 _Scheduler_priority_Yield, \
69 _Scheduler_priority_Block, \
70 _Scheduler_priority_Unblock, \
71 _Scheduler_priority_Update_priority, \
72 _Scheduler_default_Map_priority, \
73 _Scheduler_default_Unmap_priority, \
74 SCHEDULER_DEFAULT_SMP_OPERATIONS \
75 _Scheduler_priority_Node_initialize, \
76 _Scheduler_default_Node_destroy, \
77 _Scheduler_default_Release_job, \
78 _Scheduler_default_Cancel_job, \
79 _Scheduler_default_Start_idle \
80 SCHEDULER_DEFAULT_SET_AFFINITY_OPERATION \
148 const Scheduler_Control *scheduler,
149 Thread_Control *the_thread,
163 const Scheduler_Control *scheduler,
164 Thread_Control *the_thread
175 const Scheduler_Control *scheduler,
176 Thread_Control *the_thread,
188 const Scheduler_Control *scheduler,
189 Thread_Control *the_thread,
202 const Scheduler_Control *scheduler,
204 Thread_Control *the_thread,
216 const Scheduler_Control *scheduler,
217 Thread_Control *the_thread,
#define RTEMS_ZERO_LENGTH_ARRAY
This constant represents the element count of a zero-length array.
Definition basedefs.h:1032
uint64_t Priority_Control
The thread priority control.
Definition priority.h:91
void _Scheduler_priority_Node_initialize(const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority)
Initializes the node with the given priority.
Definition schedulerpriority.c:57
void _Scheduler_priority_Block(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Blocks the thread.
Definition schedulerpriorityblock.c:46
void _Scheduler_priority_Unblock(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Unblocks the thread.
Definition schedulerpriorityunblock.c:46
void _Scheduler_priority_Yield(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Performs the yield of a thread.
Definition schedulerpriorityyield.c:45
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:44
void _Scheduler_priority_Initialize(const Scheduler_Control *scheduler)
Initializes the priority scheduler.
Definition schedulerpriority.c:45
void _Scheduler_priority_Update_priority(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *base_node)
Updates the priority of the node.
Definition schedulerprioritychangepriority.c:44
This header file provides interfaces of the Priority Bitmap which are used by the implementation and ...
This header file provides interfaces of the Chain Handler which are used by the implementation and th...
This header file provides interfaces of the Scheduler Handler which are used by the implementation an...
Definition prioritybitmap.h:60
Scheduler context.
Definition scheduler.h:318
Scheduler node for per-thread data.
Definition schedulernode.h:94
Definition schedulerpriority.h:83
Priority_bit_map_Control Bit_map
Bit map to indicate non-empty ready queues.
Definition schedulerpriority.h:92
Scheduler_Context Base
Basic scheduler context.
Definition schedulerpriority.h:87
Chain_Control Ready[RTEMS_ZERO_LENGTH_ARRAY]
One ready queue per priority level.
Definition schedulerpriority.h:97
Scheduler node specialization for Deterministic Priority schedulers.
Definition schedulerpriority.h:119
Scheduler_priority_Ready_queue Ready_queue
The associated ready queue of this node.
Definition schedulerpriority.h:128
Scheduler_Node Base
Basic scheduler node.
Definition schedulerpriority.h:123
Data for ready queue operations.
Definition schedulerpriority.h:103
unsigned int current_priority
The thread priority currently used by the scheduler.
Definition schedulerpriority.h:107
Chain_Control * ready_chain
Definition schedulerpriority.h:110
Priority_bit_map_Information Priority_map
Definition schedulerpriority.h:113
This union represents a chain control block.
Definition chain.h:96