RTEMS  5.0.0
Macros | Functions

Classic Rate Monotonic Scheduler Implementation. More...

#include <rtems/rtems/ratemondata.h>
#include <rtems/score/objectimpl.h>
#include <rtems/score/schedulerimpl.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/watchdogimpl.h>
#include <string.h>

Go to the source code of this file.

Macros

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

Detailed Description

Classic Rate Monotonic Scheduler Implementation.