RTEMS
Files | Classes | Macros | Functions | Variables
Classic Rate Monotonic Scheduler Implementation

Files

file  ratemondata.h
 Classic Rate Monotonic Scheduler Data Structures.
 
file  ratemonimpl.h
 Classic Rate Monotonic Scheduler Implementation.
 
file  ratemonident.c
 rtems_rate_monotonic_ident() Implementation
 

Classes

struct  Rate_monotonic_Statistics
 
struct  Rate_monotonic_Control
 The following structure defines the control block used to manage each period. More...
 

Macros

#define RATE_MONOTONIC_INFORMATION_DEFINE(max)
 Macro to define the objects information for the Classic Rate Monotonic objects. More...
 
#define RATE_MONOTONIC_INTEND_TO_BLOCK   ( THREAD_WAIT_CLASS_PERIOD | THREAD_WAIT_STATE_INTEND_TO_BLOCK )
 
#define RATE_MONOTONIC_BLOCKED   ( THREAD_WAIT_CLASS_PERIOD | THREAD_WAIT_STATE_BLOCKED )
 
#define RATE_MONOTONIC_READY_AGAIN   ( THREAD_WAIT_CLASS_PERIOD | THREAD_WAIT_STATE_READY_AGAIN )
 

Functions

static __inline__ Rate_monotonic_Control_Rate_monotonic_Allocate (void)
 Allocates a period control block from the inactive chain of free period control blocks. More...
 
static __inline__ void _Rate_monotonic_Acquire_critical (Rate_monotonic_Control *the_period, ISR_lock_Context *lock_context)
 
static __inline__ void _Rate_monotonic_Release (Rate_monotonic_Control *the_period, ISR_lock_Context *lock_context)
 
static __inline__ Rate_monotonic_Control_Rate_monotonic_Get (Objects_Id id, ISR_lock_Context *lock_context)
 
void _Rate_monotonic_Timeout (Watchdog_Control *watchdog)
 
bool _Rate_monotonic_Get_status (const Rate_monotonic_Control *the_period, Timestamp_Control *wall_since_last_period, Timestamp_Control *cpu_since_last_period)
 _Rate_monotonic_Get_status( More...
 
void _Rate_monotonic_Restart (Rate_monotonic_Control *the_period, Thread_Control *owner, ISR_lock_Context *lock_context)
 
void _Rate_monotonic_Cancel (Rate_monotonic_Control *the_period, Thread_Control *owner, ISR_lock_Context *lock_context)
 
static __inline__ void _Rate_monotonic_Reset_min_time (Timestamp_Control *min_time)
 
static __inline__ void _Rate_monotonic_Reset_statistics (Rate_monotonic_Control *the_period)
 

Variables

Objects_Information _Rate_monotonic_Information
 The Classic Rate Monotonic objects information.
 

Detailed Description

Macro Definition Documentation

◆ RATE_MONOTONIC_INFORMATION_DEFINE

#define RATE_MONOTONIC_INFORMATION_DEFINE (   max)
Value:
_Rate_monotonic, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_PERIODS, \
max, \
NULL \
)
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition: objectdata.h:101
The following structure defines the control block used to manage each period.
Definition: ratemondata.h:69
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:427

Macro to define the objects information for the Classic Rate Monotonic objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters
maxThe configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).

Definition at line 147 of file ratemondata.h.

Function Documentation

◆ _Rate_monotonic_Allocate()

static __inline__ Rate_monotonic_Control* _Rate_monotonic_Allocate ( void  )
static

Allocates a period control block from the inactive chain of free period control blocks.

This function allocates a period control block from the inactive chain of free period control blocks.

Definition at line 58 of file ratemonimpl.h.

◆ _Rate_monotonic_Get_status()

bool _Rate_monotonic_Get_status ( const Rate_monotonic_Control the_period,
Timestamp_Control wall_since_last_period,
Timestamp_Control cpu_since_last_period 
)

_Rate_monotonic_Get_status(

This routine is invoked to compute the elapsed wall time and cpu time for a period.

Parameters
[in]the_periodpoints to the period being operated upon.
[out]wall_since_last_periodis set to the wall time elapsed since the period was initiated.
[out]cpu_since_last_periodis set to the cpu time used by the owning thread since the period was initiated.
Return values
Thisroutine returns true if the status can be determined and false otherwise.

Definition at line 27 of file ratemonperiod.c.