RTEMS 6.3
Loading...
Searching...
No Matches
Rate Monotonic Manager

This group contains the Rate Monotonic Manager implementation. More...

Files

file  cpukit/include/rtems/rtems/ratemon.h
 This header file defines the Rate-Monotonic Manager API.
file  cpukit/include/rtems/rtems/ratemondata.h
 This header file provides data structures used by the implementation and the Application Configuration to define _Rate_monotonic_Information.
file  cpukit/include/rtems/rtems/ratemonimpl.h
 This header file provides the implementation interfaces of the Rate Monotonic Manager.
file  cpukit/rtems/src/ratemon.c
 This source file contains a definition of the _Rate_monotonic_Information with zero objects.
file  cpukit/rtems/src/ratemoncancel.c
 This source file contains the implementation of rtems_rate_monotonic_cancel().
file  cpukit/rtems/src/ratemoncreate.c
 This source file contains the implementation of rtems_rate_monotonic_create().
file  cpukit/rtems/src/ratemondelete.c
 This source file contains the implementation of rtems_rate_monotonic_delete().
file  cpukit/rtems/src/ratemongetstatistics.c
 This source file contains the implementation of rtems_rate_monotonic_get_statistics().
file  cpukit/rtems/src/ratemongetstatus.c
 This source file contains the implementation of rtems_rate_monotonic_get_status().
file  cpukit/rtems/src/ratemonident.c
 This source file contains the implementation of rtems_rate_monotonic_ident().
file  cpukit/rtems/src/ratemonperiod.c
 This source file contains the implementation of rtems_rate_monotonic_period_states().
file  cpukit/rtems/src/ratemonreportstatistics.c
 This source file contains the implementation of rtems_rate_monotonic_report_statistics_with_plugin().
file  cpukit/rtems/src/ratemonresetall.c
 This source file contains the implementation of rtems_rate_monotonic_reset_all_statistics().
file  cpukit/rtems/src/ratemonresetstatistics.c
 This source file contains the implementation of rtems_rate_monotonic_reset_statistics().
file  cpukit/rtems/src/ratemontimeout.c
 This source file contains the implementation of _Rate_monotonic_Timeout().

Data Structures

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.
#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 )

Functions

void _Rate_monotonic_Timeout (Watchdog_Control *watchdog)
void _Rate_monotonic_Get_status (const Rate_monotonic_Control *the_period, Timestamp_Control *wall_since_last_period, Timestamp_Control *cpu_since_last_period)
 Gets the rate monotonic CPU usage status.
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)

Variables

Objects_Information _Rate_monotonic_Information
 The Classic Rate Monotonic objects information.

Detailed Description

This group contains the Rate Monotonic Manager implementation.

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:123
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition objectdata.h:449
The following structure defines the control block used to manage each period.
Definition ratemondata.h:89

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).

Function Documentation

◆ _Rate_monotonic_Get_status()

void _Rate_monotonic_Get_status ( const Rate_monotonic_Control * the_period,
Timestamp_Control * wall_since_last_period,
Timestamp_Control * cpu_since_last_period )

Gets the rate monotonic CPU usage 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.