|
typedef struct timespec rtems_rate_monotonic_period_time_t | RTEMS_DEPRECATED |
|
This encapsulates functionality related to the Classic API Rate Monotonic Manager.
Statistics are kept for each period and can be obtained or printed via API calls. The statistics kept include minimum, maximum and average times for both cpu usage and wall time. The statistics indicate the execution and wall time used by the owning thread between successive calls to rtems_rate_monotonic_period.
◆ RTEMS_PERIOD_STATUS
The following constant is the interval passed to the rate_monontonic_period directive to obtain status information.
◆ rtems_rate_monotonic_period_states
The following enumerated type defines the states in which a period may be.
Enumerator |
---|
RATE_MONOTONIC_INACTIVE | This value indicates the period is off the watchdog chain, and has never been initialized.
|
RATE_MONOTONIC_ACTIVE | This value indicates the period is on the watchdog chain, and running. The owner should be executed or blocked waiting on another object.
|
RATE_MONOTONIC_EXPIRED | This value indicates the period is off the watchdog chain, and has expired. The owner is still executing and has taken too much all time to complete this iteration of the period.
|
◆ rtems_rate_monotonic_cancel()
RTEMS Rate Monotonic Cancel.
This routine implements the rtems_rate_monotonic_cancel directive. This directive stops the period associated with ID from continuing to run.
- Parameters
-
[in] | id | is the rate monotonic id |
- Return values
-
RTEMS_SUCCESSFUL | if successful and caller is not the owning thread or error code if unsuccessful |
◆ rtems_rate_monotonic_create()
Create a Period.
Rate Monotonic Manager
This routine implements the rate_monotonic_create directive. The period will have the name name. It returns the id of the created period in ID.
◆ rtems_rate_monotonic_delete()
RTEMS Delete Rate Monotonic.
This routine implements the rtems_rate_monotonic_delete directive. The period indicated by ID is deleted.
- Parameters
-
[in] | id | is the rate monotonic id |
- Return values
-
This | method returns RTEMS_SUCCESSFUL if there was not an error. Otherwise, a status code is returned indicating the source of the error. |
◆ rtems_rate_monotonic_get_statistics()
RTEMS Rate Monotonic Get Statistics.
This routine implements the rtems_rate_monotonic_get_statistics directive. Statistics gathered from the use of this period are returned.
- Parameters
-
[in] | id | is the rate monotonic id |
[in] | statistics | is the pointer to statistics control block |
- Return values
-
RTEMS_SUCCESSFUL | if successful or error code if unsuccessful |
◆ rtems_rate_monotonic_get_status()
RTEMS Rate Monotonic Get Status.
This routine implements the rtems_rate_monotonic_get_status directive. Information about the period indicated by ID is returned.
- Parameters
-
[in] | id | is the rate monotonic id |
[in] | status | is the pointer to status control block |
- Return values
-
This | method returns RTEMS_SUCCESSFUL if there was not an error. Otherwise, a status code is returned indicating the source of the error. |
◆ rtems_rate_monotonic_ident()
RTEMS Rate Monotonic Name to Id.
This routine implements the rtems_rate_monotonic_ident directive. It returns the period ID associated with name. If more than one period is named name, then the period to which the ID belongs is arbitrary.
- Parameters
-
[in] | name | is the user defined period name |
[in] | id | is the pointer to period id |
- Return values
-
This | method returns RTEMS_SUCCESSFUL if there was not an error. Otherwise, a status code is returned indicating the source of the error. If successful, the id will be filled in with the region id. |
◆ rtems_rate_monotonic_period()
RTEMS Rate Monotonic Period.
This routine implements the rtems_rate_monotonic_period directive. When length is non-zero, this directive initiates the period associated with ID from continuing for a period of length. If length is zero, then result is set to indicate the current state of the period.
- Parameters
-
[in] | id | is the rate monotonic id |
[in] | length | is the length of period (in ticks) |
- Return values
-
RTEMS_SUCCESSFUL | if successful or error code if unsuccessful |
◆ rtems_rate_monotonic_report_statistics()
void rtems_rate_monotonic_report_statistics |
( |
void |
| ) |
|
RTEMS Report Rate Monotonic Statistics.
This routine allows a thread to print the statistics information on ALL period instances which have non-zero counts using printk.
◆ rtems_rate_monotonic_report_statistics_with_plugin()
void rtems_rate_monotonic_report_statistics_with_plugin |
( |
const struct rtems_printer * |
printer | ) |
|
RTEMS Report Rate Monotonic Statistics.
This routine allows a thread to print the statistics information on ALL period instances which have non-zero counts using the RTEMS printer. The implementation of this directive straddles the fence between inside and outside of RTEMS. It is presented as part of the Manager but actually uses other services of the Manager.
◆ rtems_rate_monotonic_reset_all_statistics()
void rtems_rate_monotonic_reset_all_statistics |
( |
void |
| ) |
|
rtems_rate_monotonic_reset_all_statistics
This routine allows a thread to reset the statistics information on ALL period instances.
◆ rtems_rate_monotonic_reset_statistics()
RTEMS Rate Monotonic Reset Statistics.
Rate Monotonic Manager – Reset Statistics
This routine allows a thread to reset the statistics information on a specific period instance.