diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-07 14:12:52 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-12 13:25:39 +0100 |
commit | 78bbe5940b385269de8282e0224c25d020478bc1 (patch) | |
tree | f7b9fac1307ca66368674bd3f4495890266da3e9 /cpukit/include/rtems/rtems/ratemon.h | |
parent | Include missing <sys/types.h> (diff) | |
download | rtems-78bbe5940b385269de8282e0224c25d020478bc1.tar.bz2 |
rtems: Move internal structures to ratemondata.h
Update #3598.
Diffstat (limited to 'cpukit/include/rtems/rtems/ratemon.h')
-rw-r--r-- | cpukit/include/rtems/rtems/ratemon.h | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/cpukit/include/rtems/rtems/ratemon.h b/cpukit/include/rtems/rtems/ratemon.h index 738dc5244d..747d967af2 100644 --- a/cpukit/include/rtems/rtems/ratemon.h +++ b/cpukit/include/rtems/rtems/ratemon.h @@ -35,7 +35,6 @@ #include <rtems/rtems/types.h> #include <rtems/rtems/status.h> -#include <rtems/score/thread.h> #include <rtems/score/watchdog.h> struct rtems_printer; @@ -60,21 +59,9 @@ extern "C" { */ /**@{*/ -/** - * This is the public type used for the rate monotonic timing - * statistics. - */ -#include <rtems/score/timespec.h> - typedef struct timespec rtems_rate_monotonic_period_time_t RTEMS_DEPRECATED; /** - * This is the internal type used for the rate monotonic timing - * statistics. - */ -#include <rtems/score/timestamp.h> - -/** * The following enumerated type defines the states in which a * period may be. */ @@ -135,31 +122,6 @@ typedef struct { } rtems_rate_monotonic_period_statistics; /** - * The following defines the INTERNAL data structure that has the - * statistics kept on each period instance. - */ -typedef struct { - /** This field contains the number of periods executed. */ - uint32_t count; - /** This field contains the number of periods missed. */ - uint32_t missed_count; - - /** This field contains the least amount of CPU time used in a period. */ - Timestamp_Control min_cpu_time; - /** This field contains the highest amount of CPU time used in a period. */ - Timestamp_Control max_cpu_time; - /** This field contains the total amount of wall time used in a period. */ - Timestamp_Control total_cpu_time; - - /** This field contains the least amount of wall time used in a period. */ - Timestamp_Control min_wall_time; - /** This field contains the highest amount of wall time used in a period. */ - Timestamp_Control max_wall_time; - /** This field contains the total amount of CPU time used in a period. */ - Timestamp_Control total_wall_time; -} Rate_monotonic_Statistics; - -/** * The following defines the period status structure. */ typedef struct { @@ -188,78 +150,6 @@ typedef struct { } rtems_rate_monotonic_period_status; /** - * @brief The following structure defines the control block used to manage each - * period. - * - * State changes are protected by the default thread lock of the owner thread. - * The owner thread is the thread that created the period object. The owner - * thread field is immutable after object creation. - */ -typedef struct { - /** This field is the object management portion of a Period instance. */ - Objects_Control Object; - - /** - * @brief Protects the rate monotonic period state. - */ - ISR_LOCK_MEMBER( Lock ) - - /** This is the timer used to provide the unblocking mechanism. */ - Watchdog_Control Timer; - - /** This field indicates the current state of the period. */ - rtems_rate_monotonic_period_states state; - - /** - * @brief A priority node for use by the scheduler job release and cancel - * operations. - */ - Priority_Node Priority; - - /** - * This field contains the length of the next period to be - * executed. - */ - uint32_t next_length; - - /** - * This field contains a pointer to the TCB for the thread - * which owns and uses this period instance. - */ - Thread_Control *owner; - - /** - * This field contains the cpu usage value of the owning thread when - * the period was initiated. It is used to compute the period's - * statistics. - */ - Timestamp_Control cpu_usage_period_initiated; - - /** - * This field contains the wall time value when the period - * was initiated. It is used to compute the period's statistics. - */ - Timestamp_Control time_period_initiated; - - /** - * This field contains the statistics maintained for the period. - */ - Rate_monotonic_Statistics Statistics; - - /** - * This field contains the number of postponed jobs. - * When the watchdog timeout, this variable will be increased immediately. - */ - uint32_t postponed_jobs; - - /** - * This field contains the tick of the latest deadline decided by the period - * watchdog. - */ - uint64_t latest_deadline; -} Rate_monotonic_Control; - -/** * @brief Create a Period * * Rate Monotonic Manager |