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 \
#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
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
Scheduler control.
Definition: scheduler.h:337
This union represents a chain control block.
Definition: chain.h:96