RTEMS 6.1-rc7
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions | Variables
scheduler.h File Reference

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

#include <rtems/score/thread.h>
#include <rtems/score/status.h>

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.