21#ifndef _RTEMS_SCORE_SCHEDULERPRIORITY_H
22#define _RTEMS_SCORE_SCHEDULERPRIORITY_H
45#define SCHEDULER_PRIORITY_ENTRY_POINTS \
47 _Scheduler_priority_Initialize, \
48 _Scheduler_priority_Schedule, \
49 _Scheduler_priority_Yield, \
50 _Scheduler_priority_Block, \
51 _Scheduler_priority_Unblock, \
52 _Scheduler_priority_Update_priority, \
53 _Scheduler_default_Map_priority, \
54 _Scheduler_default_Unmap_priority, \
55 SCHEDULER_OPERATION_DEFAULT_ASK_FOR_HELP \
56 _Scheduler_priority_Node_initialize, \
57 _Scheduler_default_Node_destroy, \
58 _Scheduler_default_Release_job, \
59 _Scheduler_default_Cancel_job, \
60 _Scheduler_default_Tick, \
61 _Scheduler_default_Start_idle \
62 SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY \
uint64_t Priority_Control
The thread priority control.
Definition: priority.h:70
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:35
void _Scheduler_priority_Block(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Blocks the thread.
Definition: schedulerpriorityblock.c:26
void _Scheduler_priority_Unblock(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Unblocks the thread.
Definition: schedulerpriorityunblock.c:25
void _Scheduler_priority_Yield(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Performs the yield of a thread.
Definition: schedulerpriorityyield.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:24
void _Scheduler_priority_Initialize(const Scheduler_Control *scheduler)
Initializes the priority scheduler.
Definition: schedulerpriority.c:23
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:24
Manipulation Routines for the Bitmap Priority Queue Implementation.
Constants and Structures Associated with the Scheduler.
Definition: prioritybitmap.h:42
Scheduler context.
Definition: scheduler.h:252
Scheduler node for per-thread data.
Definition: schedulernode.h:79
Definition: schedulerpriority.h:65
Priority_bit_map_Control Bit_map
Bit map to indicate non-empty ready queues.
Definition: schedulerpriority.h:74
Scheduler_Context Base
Basic scheduler context.
Definition: schedulerpriority.h:69
Scheduler node specialization for Deterministic Priority schedulers.
Definition: schedulerpriority.h:101
Scheduler_priority_Ready_queue Ready_queue
The associated ready queue of this node.
Definition: schedulerpriority.h:110
Scheduler_Node Base
Basic scheduler node.
Definition: schedulerpriority.h:105
Data for ready queue operations.
Definition: schedulerpriority.h:85
unsigned int current_priority
The thread priority currently used by the scheduler.
Definition: schedulerpriority.h:89
Chain_Control * ready_chain
Definition: schedulerpriority.h:92
Priority_bit_map_Information Priority_map
Definition: schedulerpriority.h:95
Scheduler control.
Definition: scheduler.h:269