31 #ifndef _RTEMS_RTEMS_RATEMON_H 32 #define _RTEMS_RTEMS_RATEMON_H 119 #define RTEMS_PERIOD_STATUS WATCHDOG_NO_TIMEOUT 182 rtems_rate_monotonic_period_states
state;
211 rtems_rate_monotonic_period_states
state;
This include file contains helpers for manipulating timespecs.
rtems_thread_cpu_usage_t min_cpu_time
This field contains the least amount of CPU time used in a period.
Definition: ratemon.h:135
rtems_status_code rtems_rate_monotonic_create(rtems_name name, rtems_id *id)
Create a Period.
Definition: ratemoncreate.c:45
uint32_t count
This field contains the number of periods executed.
Definition: ratemon.h:155
This value indicates the period is off the watchdog chain, and has never been initialized.
Definition: ratemon.h:86
Objects_Control Object
This field is the object management portion of a Period instance.
Definition: ratemon.h:205
Thread_CPU_usage_t max_cpu_time
This field contains the highest amount of CPU time used in a period.
Definition: ratemon.h:162
rtems_rate_monotonic_period_time_t since_last_period
This is the length of wall time that has passed since this period was last initiated.
Definition: ratemon.h:189
rtems_status_code rtems_rate_monotonic_period(rtems_id id, rtems_interval length)
RTEMS Rate Monotonic Period.
Definition: ratemonperiod.c:213
The following defines the Object Control Block used to manage each object local to this node...
Definition: object.h:232
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
Thread_CPU_usage_t total_cpu_time
This field contains the total amount of wall time used in a period.
Definition: ratemon.h:164
rtems_status_code rtems_rate_monotonic_get_status(rtems_id id, rtems_rate_monotonic_period_status *status)
RTEMS Rate Monotonic Get Status.
Definition: ratemongetstatus.c:29
Timestamp_Control Rate_monotonic_Period_time_t
This is the internal type used for the rate monotonic timing statistics.
Definition: ratemon.h:75
struct timespec rtems_thread_cpu_usage_t
Represents the CPU usage per thread.
Definition: types.h:127
rtems_rate_monotonic_period_time_t total_wall_time
This field contains the total amount of CPU time used in a period.
Definition: ratemon.h:146
Watchdog_Control Timer
This is the timer used to provide the unblocking mechanism.
Definition: ratemon.h:208
Rate_monotonic_Period_time_t min_wall_time
This field contains the least amount of wall time used in a period.
Definition: ratemon.h:167
struct timespec rtems_rate_monotonic_period_time_t
This is the public type used for the rate monotonic timing statistics.
Definition: ratemon.h:67
void rtems_rate_monotonic_reset_all_statistics(void)
rtems_rate_monotonic_reset_all_statistics
Definition: ratemonresetall.c:30
The control block used to manage each watchdog timer.
Definition: watchdog.h:98
rtems_status_code rtems_rate_monotonic_ident(rtems_name name, rtems_id *id)
RTEMS Rate Monotonic Name to Id.
Definition: ratemonident.c:28
Helpers for Manipulating Timestamps.
void rtems_rate_monotonic_report_statistics_with_plugin(void *context, rtems_printk_plugin_t print)
RTEMS Report Rate Monotonic Statistics.
Definition: ratemonreportstatistics.c:31
rtems_thread_cpu_usage_t max_cpu_time
This field contains the highest amount of CPU time used in a period.
Definition: ratemon.h:137
This value indicates the period is on the watchdog chain, and the owner is blocked waiting on it...
Definition: ratemon.h:92
Constants and Structures Associated with Watchdog Timers.
Thread_Control * owner
This field contains a pointer to the TCB for the thread which owns and uses this period instance...
Definition: ratemon.h:223
Thread_CPU_usage_t min_cpu_time
This field contains the least amount of CPU time used in a period.
Definition: ratemon.h:160
rtems_thread_cpu_usage_t total_cpu_time
This field contains the total amount of wall time used in a period.
Definition: ratemon.h:139
Constants and Structures Related with the Thread Control Block.
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:119
rtems_thread_cpu_usage_t executed_since_last_period
This is the amount of CPU time that has been used since this period was last initiated.
Definition: ratemon.h:196
The following defines the period status structure.
Definition: ratemon.h:177
This value indicates the period is on the watchdog chain, and running.
Definition: ratemon.h:99
uint32_t missed_count
This field contains the number of periods missed.
Definition: ratemon.h:157
rtems_status_code
Classic API Status.
Definition: status.h:46
This value indicates the period is on the watchdog chain, and has expired.
Definition: ratemon.h:105
uint32_t rtems_name
Classic API object name type.
Definition: types.h:74
The following defines the INTERNAL data structure that has the statistics kept on each period instanc...
Definition: ratemon.h:153
This structure defines the Thread Control Block (TCB).
Definition: thread.h:671
uint32_t missed_count
This field contains the number of periods missed.
Definition: ratemon.h:132
Rate_monotonic_Period_time_t time_period_initiated
This field contains the wall time value when the period was initiated.
Definition: ratemon.h:236
This value indicates the period is off the watchdog chain, and has expired.
Definition: ratemon.h:112
The following defines the PUBLIC data structure that has the statistics kept on each period instance...
Definition: ratemon.h:128
Rate_monotonic_Period_time_t max_wall_time
This field contains the highest amount of wall time used in a period.
Definition: ratemon.h:169
Rate_monotonic_Period_time_t total_wall_time
This field contains the total amount of CPU time used in a period.
Definition: ratemon.h:171
uint32_t count
This field contains the number of periods executed.
Definition: ratemon.h:130
Rate_monotonic_Statistics Statistics
This field contains the statistics maintained for the period.
Definition: ratemon.h:241
rtems_rate_monotonic_period_states state
This field indicates the current state of the period.
Definition: ratemon.h:211
The following structure defines the control block used to manage each period.
Definition: ratemon.h:203
struct bintime Timestamp_Control
Define the Timestamp control type.
Definition: timestamp.h:55
Interface to Kernel Print Methods.
rtems_id owner
This is the Id of the thread using this period.
Definition: ratemon.h:179
rtems_status_code rtems_rate_monotonic_reset_statistics(rtems_id id)
RTEMS Rate Monotonic Reset Statistics.
Definition: ratemonresetstatistics.c:43
rtems_status_code rtems_rate_monotonic_cancel(rtems_id id)
RTEMS Rate Monotonic Cancel.
Definition: ratemoncancel.c:26
rtems_rate_monotonic_period_states
The following enumerated type defines the states in which a period may be.
Definition: ratemon.h:81
int(* rtems_printk_plugin_t)(void *, const char *format,...)
Type definition for function which can be plugged in to certain reporting routines to redirect the ou...
Definition: bspIo.h:129
uint32_t next_length
This field contains the length of the next period to be executed.
Definition: ratemon.h:217
rtems_rate_monotonic_period_states state
This is the current state of this period.
Definition: ratemon.h:182
rtems_status_code rtems_rate_monotonic_delete(rtems_id id)
RTEMS Delete Rate Monotonic.
Definition: ratemondelete.c:26
rtems_status_code rtems_rate_monotonic_get_statistics(rtems_id id, rtems_rate_monotonic_period_statistics *statistics)
RTEMS Rate Monotonic Get Statistics.
Definition: ratemongetstatistics.c:28
rtems_rate_monotonic_period_time_t max_wall_time
This field contains the highest amount of wall time used in a period.
Definition: ratemon.h:144
void rtems_rate_monotonic_report_statistics(void)
RTEMS Report Rate Monotonic Statistics.
Definition: ratemonreportstatistics.c:155
Thread_CPU_usage_t cpu_usage_period_initiated
This field contains the cpu usage value of the owning thread when the period was initiated.
Definition: ratemon.h:230
rtems_rate_monotonic_period_time_t min_wall_time
This field contains the least amount of wall time used in a period.
Definition: ratemon.h:142