RTEMS 6.1-rc2
Loading...
Searching...
No Matches
Data Fields
Scheduler_Node Struct Reference

Scheduler node for per-thread data. More...

#include <schedulernode.h>

Data Fields

struct _Thread_Controlowner
 The thread owning this node.
 
struct {
   Priority_Aggregation   Priority
 
Wait
 Thread wait support block.
 
struct {
   Priority_Control   value
 The thread priority value of this scheduler node. More...
 
Priority
 The thread priority information used by the scheduler.
 

Detailed Description

Scheduler node for per-thread data.

Field Documentation

◆ 

struct { ... } Scheduler_Node::Priority

The thread priority information used by the scheduler.

The thread priority is manifest in two independent areas. One area is the user visible thread priority along with a potential thread queue. The other is the scheduler. During a thread priority change, the user visible thread priority and the thread queue are first updated and the thread priority value here is changed. Once this is done the scheduler is notified via the update priority operation, so that it can update its internal state and honour a new thread priority value.

◆ value

Priority_Control Scheduler_Node::value

The thread priority value of this scheduler node.

The producer of this value is _Thread_Change_priority(). The consumer is the scheduler via the unblock and update priority operations.

This priority control consists of two parts. One part is the plain priority value (most-significant 63 bits). The other part is the least-significant bit which indicates if the thread should be appended (bit set) or prepended (bit cleared) to its priority group, see SCHEDULER_PRIORITY_APPEND().

See also
_Scheduler_Node_get_priority() and _Scheduler_Node_set_priority().

The documentation for this struct was generated from the following file: