RTEMS 6.3
Loading...
Searching...
No Matches
scheduler.h File Reference

This header file provides interfaces of the Scheduler Handler which are used by the implementation and the Application Configuration. More...

Go to the source code of this file.

Data Structures

struct  Scheduler_Operations
 The scheduler operations. More...
struct  Scheduler_Context
 Scheduler context. More...
struct  _Scheduler_Control
 Scheduler control. More...

Macros

#define _Scheduler_Count   ( (size_t) 1 )
 This constant contains the count of configured schedulers.
#define SCHEDULER_DEFAULT_SMP_OPERATIONS
 This define provides a set of default implementations for SMP-specific scheduler operations.
#define SCHEDULER_DEFAULT_SET_AFFINITY_OPERATION
 This define provides the default implementation for the SMP-specific set affinity operation.
#define PRIORITY_MAXIMUM   ( _Scheduler_Table[ 0 ].maximum_priority )
 This defines the lowest (least important) thread priority of the first scheduler instance.

Typedefs

typedef struct _Scheduler_Control Scheduler_Control
typedef struct Scheduler_Context Scheduler_Context
 Scheduler context.

Functions

Priority_Control _Scheduler_default_Map_priority (const Scheduler_Control *scheduler, Priority_Control priority)
 Returns the scheduler internal thread priority mapped by SCHEDULER_PRIORITY_MAP().
Priority_Control _Scheduler_default_Unmap_priority (const Scheduler_Control *scheduler, Priority_Control priority)
 Returns the user visible thread priority unmapped by SCHEDULER_PRIORITY_UNMAP().
void _Scheduler_default_Schedule (const Scheduler_Control *scheduler, Thread_Control *the_thread)
 Does nothing.
void _Scheduler_default_Node_initialize (const Scheduler_Control *scheduler, Scheduler_Node *node, Thread_Control *the_thread, Priority_Control priority)
 Performs the scheduler base node initialization.
void _Scheduler_default_Node_destroy (const Scheduler_Control *scheduler, Scheduler_Node *node)
 Does nothing.
void _Scheduler_default_Release_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Node *priority_node, uint64_t deadline, Thread_queue_Context *queue_context)
 Does nothing.
void _Scheduler_default_Cancel_job (const Scheduler_Control *scheduler, Thread_Control *the_thread, Priority_Node *priority_node, Thread_queue_Context *queue_context)
 Does nothing.
void _Scheduler_default_Start_idle (const Scheduler_Control *scheduler, Thread_Control *the_thread, struct Per_CPU_Control *cpu)
 Starts an idle thread.

Variables

const Scheduler_Control _Scheduler_Table []
 This table contains the configured schedulers.

Detailed Description

This header file provides interfaces of the Scheduler Handler which are used by the implementation and the Application Configuration.