38#ifndef _RTEMS_SCORE_SCHEDULERNODE_H
39#define _RTEMS_SCORE_SCHEDULERNODE_H
66 SCHEDULER_NODE_REQUEST_NOT_PENDING,
72 SCHEDULER_NODE_REQUEST_ADD,
78 SCHEDULER_NODE_REQUEST_REMOVE,
84 SCHEDULER_NODE_REQUEST_NOTHING,
86} Scheduler_Node_request;
140#if defined(RTEMS_SMP)
179 Scheduler_Node_request request;
216#if defined(RTEMS_SMP) && CPU_SIZEOF_POINTER == 8
222#if defined(RTEMS_SMP) && CPU_SIZEOF_POINTER != 8
226 ISR_lock_Control Lock;
231#if defined(RTEMS_SMP)
237extern const size_t _Scheduler_Node_size;
240#if defined(RTEMS_SMP)
241#define SCHEDULER_NODE_OF_THREAD_WAIT_NODE( node ) \
242 RTEMS_CONTAINER_OF( node, Scheduler_Node, Thread.Wait_node )
244#define SCHEDULER_NODE_OF_THREAD_SCHEDULER_NODE( node ) \
245 RTEMS_CONTAINER_OF( node, Scheduler_Node, Thread.Scheduler_node.Chain )
This header file provides basic definitions used by the API and the implementation.
uint64_t Priority_Control
The thread priority control.
Definition: priority.h:91
This header file provides the interfaces of the ISR Locks.
This header file provides interfaces of the Priority Handler 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 structure represents a chain node.
Definition: chain.h:78
The priority aggregation.
Definition: priority.h:147
Red-black tree node.
Definition: rbtree.h:73
Scheduler node for per-thread data.
Definition: schedulernode.h:94
Priority_Control value
The thread priority value of this scheduler node.
Definition: schedulernode.h:219
struct _Thread_Control * owner
The thread owning this node.
Definition: schedulernode.h:138
struct Scheduler_Node::@4406 Wait
Thread wait support block.