33 unsigned int priority;
34 unsigned int unmapped_priority;
Chain_Control Ready[0]
One ready queue per priority level.
static __inline__ void _Scheduler_priority_Ready_queue_enqueue(Chain_Node *node, Scheduler_priority_Ready_queue *ready_queue, Priority_bit_map_Control *bit_map)
Enqueues a node on the specified ready queue.
Scheduler_Node Base
Basic scheduler node.
void _Scheduler_priority_Unblock(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Unblocks the thread.
unsigned int current_priority
The thread priority currently used by the scheduler.
static __inline__ Scheduler_priority_Context * _Scheduler_priority_Get_context(const Scheduler_Control *scheduler)
Gets the context of the scheduler.
Inlined Routines Associated with the Manipulation of the Priority-Based Scheduling Structures...
static __inline__ Priority_Control _Scheduler_Node_get_priority(Scheduler_Node *node)
Gets the priority of the node.
static __inline__ void _Scheduler_priority_Ready_queue_update(Scheduler_priority_Ready_queue *ready_queue, unsigned int new_priority, Priority_bit_map_Control *bit_map, Chain_Control *ready_queues)
Updates the specified ready queue data according to the new priority value.
static __inline__ void _Scheduler_Update_heir(Thread_Control *new_heir, bool force_dispatch)
Updates the heir.
Priority_bit_map_Control Bit_map
Bit map to indicate non-empty ready queues.
Scheduler_priority_Ready_queue Ready_queue
The associated ready queue of this node.
static __inline__ Scheduler_priority_Node * _Scheduler_priority_Node_downcast(Scheduler_Node *node)
Gets the priority node of the scheduler node.
#define SCHEDULER_PRIORITY_UNMAP(priority)
Returns the plain priority value.
Scheduler node specialization for Deterministic Priority schedulers.
static __inline__ Priority_Control _Thread_Get_priority(const Thread_Control *the_thread)
Returns the priority of the thread.
#define PRIORITY_PSEUDO_ISR
The priority value of pseudo-ISR threads.
Scheduler node for per-thread data.