Changeset 78bbe59 in rtems


Ignore:
Timestamp:
Nov 7, 2018, 1:12:52 PM (6 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
257cf74
Parents:
93fae332
git-author:
Sebastian Huber <sebastian.huber@…> (11/07/18 13:12:52)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/12/18 12:25:39)
Message:

rtems: Move internal structures to ratemondata.h

Update #3598.

Location:
cpukit
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • cpukit/headers.am

    r93fae332 r78bbe59  
    252252include_rtems_rtems_HEADERS += include/rtems/rtems/partmp.h
    253253include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
     254include_rtems_rtems_HEADERS += include/rtems/rtems/ratemondata.h
    254255include_rtems_rtems_HEADERS += include/rtems/rtems/ratemonimpl.h
    255256include_rtems_rtems_HEADERS += include/rtems/rtems/region.h
  • cpukit/include/rtems/confdefs.h

    r93fae332 r78bbe59  
    3333#include <rtems/score/userextimpl.h>
    3434#include <rtems/score/wkspace.h>
     35#include <rtems/rtems/ratemondata.h>
    3536#include <rtems/posix/key.h>
    3637#include <rtems/posix/mqueue.h>
  • cpukit/include/rtems/rtems/ratemon.h

    r93fae332 r78bbe59  
    3636#include <rtems/rtems/types.h>
    3737#include <rtems/rtems/status.h>
    38 #include <rtems/score/thread.h>
    3938#include <rtems/score/watchdog.h>
    4039
     
    6160/**@{*/
    6261
    63 /**
    64  *  This is the public type used for the rate monotonic timing
    65  *  statistics.
    66  */
    67 #include <rtems/score/timespec.h>
    68 
    6962typedef struct timespec rtems_rate_monotonic_period_time_t RTEMS_DEPRECATED;
    70 
    71 /**
    72  *  This is the internal type used for the rate monotonic timing
    73  *  statistics.
    74  */
    75 #include <rtems/score/timestamp.h>
    7663
    7764/**
     
    136123
    137124/**
    138  *  The following defines the INTERNAL data structure that has the
    139  *  statistics kept on each period instance.
    140  */
    141 typedef struct {
    142   /** This field contains the number of periods executed. */
    143   uint32_t     count;
    144   /** This field contains the number of periods missed. */
    145   uint32_t     missed_count;
    146 
    147   /** This field contains the least amount of CPU time used in a period. */
    148   Timestamp_Control min_cpu_time;
    149   /** This field contains the highest amount of CPU time used in a period. */
    150   Timestamp_Control max_cpu_time;
    151   /** This field contains the total amount of wall time used in a period. */
    152   Timestamp_Control total_cpu_time;
    153 
    154   /** This field contains the least amount of wall time used in a period. */
    155   Timestamp_Control min_wall_time;
    156   /** This field contains the highest amount of wall time used in a period. */
    157   Timestamp_Control max_wall_time;
    158   /** This field contains the total amount of CPU time used in a period. */
    159   Timestamp_Control total_wall_time;
    160 }  Rate_monotonic_Statistics;
    161 
    162 /**
    163125 *  The following defines the period status structure.
    164126 */
     
    187149  uint32_t                             postponed_jobs_count;
    188150}  rtems_rate_monotonic_period_status;
    189 
    190 /**
    191  * @brief The following structure defines the control block used to manage each
    192  * period.
    193  *
    194  * State changes are protected by the default thread lock of the owner thread.
    195  * The owner thread is the thread that created the period object.  The owner
    196  * thread field is immutable after object creation.
    197  */
    198 typedef struct {
    199   /** This field is the object management portion of a Period instance. */
    200   Objects_Control                         Object;
    201 
    202   /**
    203    * @brief Protects the rate monotonic period state.
    204    */
    205   ISR_LOCK_MEMBER(                        Lock )
    206 
    207   /** This is the timer used to provide the unblocking mechanism. */
    208   Watchdog_Control                        Timer;
    209 
    210   /** This field indicates the current state of the period. */
    211   rtems_rate_monotonic_period_states      state;
    212 
    213   /**
    214    * @brief A priority node for use by the scheduler job release and cancel
    215    * operations.
    216    */
    217   Priority_Node                           Priority;
    218 
    219   /**
    220    * This field contains the length of the next period to be
    221    * executed.
    222    */
    223   uint32_t                                next_length;
    224 
    225   /**
    226    * This field contains a pointer to the TCB for the thread
    227    * which owns and uses this period instance.
    228    */
    229   Thread_Control                         *owner;
    230 
    231   /**
    232    * This field contains the cpu usage value of the owning thread when
    233    * the period was initiated.  It is used to compute the period's
    234    * statistics.
    235    */
    236   Timestamp_Control                       cpu_usage_period_initiated;
    237 
    238   /**
    239    * This field contains the wall time value when the period
    240    * was initiated.  It is used to compute the period's statistics.
    241    */
    242   Timestamp_Control                       time_period_initiated;
    243 
    244   /**
    245    * This field contains the statistics maintained for the period.
    246    */
    247   Rate_monotonic_Statistics               Statistics;
    248 
    249   /**
    250    * This field contains the number of postponed jobs.
    251    * When the watchdog timeout, this variable will be increased immediately.
    252    */
    253   uint32_t                                postponed_jobs;
    254 
    255   /**
    256    *  This field contains the tick of the latest deadline decided by the period
    257    *  watchdog.
    258   */
    259   uint64_t                                latest_deadline;
    260 }   Rate_monotonic_Control;
    261151
    262152/**
  • cpukit/include/rtems/rtems/ratemonimpl.h

    r93fae332 r78bbe59  
    2020#define _RTEMS_RTEMS_RATEMONIMPL_H
    2121
    22 #include <rtems/rtems/ratemon.h>
     22#include <rtems/rtems/ratemondata.h>
    2323#include <rtems/score/objectimpl.h>
    2424#include <rtems/score/schedulerimpl.h>
  • cpukit/include/rtems/rtems/types.h

    r93fae332 r78bbe59  
    2323 */
    2424
     25#include <sys/_timespec.h>
    2526#include <stdint.h>
    2627#include <rtems/score/heap.h>
Note: See TracChangeset for help on using the changeset viewer.