![]() |
RTEMS 5.2
|
Files | |
| file | ratemondata.h |
| Classic Rate Monotonic Scheduler Data Structures. | |
| file | ratemonimpl.h |
| Classic Rate Monotonic Scheduler Implementation. | |
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. 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 | |
| RTEMS_INLINE_ROUTINE Rate_monotonic_Control * | _Rate_monotonic_Allocate (void) |
| Allocates a period control block from the inactive chain of free period control blocks. More... | |
| RTEMS_INLINE_ROUTINE void | _Rate_monotonic_Acquire_critical (Rate_monotonic_Control *the_period, ISR_lock_Context *lock_context) |
| RTEMS_INLINE_ROUTINE void | _Rate_monotonic_Release (Rate_monotonic_Control *the_period, ISR_lock_Context *lock_context) |
| RTEMS_INLINE_ROUTINE 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) |
| RTEMS_INLINE_ROUTINE void | _Rate_monotonic_Reset_min_time (Timestamp_Control *min_time) |
| RTEMS_INLINE_ROUTINE void | _Rate_monotonic_Reset_statistics (Rate_monotonic_Control *the_period) |
Variables | |
| Objects_Information | _Rate_monotonic_Information |
| The Classic Rate Monotonic objects information. | |
| #define RATE_MONOTONIC_INFORMATION_DEFINE | ( | max | ) |
Macro to define the objects information for the Classic Rate Monotonic objects.
This macro should only be used by <rtems/confdefs.h>.
| max | The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set). |
| RTEMS_INLINE_ROUTINE Rate_monotonic_Control * _Rate_monotonic_Allocate | ( | void | ) |
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.
| 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.
| [in] | the_period | points to the period being operated upon. |
| [out] | wall_since_last_period | is set to the wall time elapsed since the period was initiated. |
| [out] | cpu_since_last_period | is set to the cpu time used by the owning thread since the period was initiated. |
| This | routine returns true if the status can be determined and false otherwise. |