2008-06-06 Joel Sherrill <joel.sherrill@OARcorp.com>

* rtems/include/rtems/rtems/ratemon.h, rtems/src/ratemonperiod.c,
	score/include/rtems/score/thread.h: Complete previous patch. Add
	typedef for cpu usage statistics.
This commit is contained in:
Joel Sherrill
2008-06-06 16:34:43 +00:00
parent 5fa5185324
commit ebfd9eaec6
4 changed files with 19 additions and 12 deletions

View File

@@ -1,3 +1,9 @@
2008-06-06 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems/include/rtems/rtems/ratemon.h, rtems/src/ratemonperiod.c,
score/include/rtems/score/thread.h: Complete previous patch. Add
typedef for cpu usage statistics.
2008-06-06 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-06-06 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c, * libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c,

View File

@@ -104,9 +104,10 @@ typedef enum {
typedef struct { typedef struct {
uint32_t count; uint32_t count;
uint32_t missed_count; uint32_t missed_count;
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE min_cpu_time;
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE max_cpu_time; rtems_thread_cpu_usage_t min_cpu_time;
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE total_cpu_time; rtems_thread_cpu_usage_t max_cpu_time;
rtems_thread_cpu_usage_t total_cpu_time;
rtems_rate_monotonic_period_time_t min_wall_time; rtems_rate_monotonic_period_time_t min_wall_time;
rtems_rate_monotonic_period_time_t max_wall_time; rtems_rate_monotonic_period_time_t max_wall_time;
@@ -120,7 +121,7 @@ typedef struct {
Objects_Id owner; Objects_Id owner;
rtems_rate_monotonic_period_states state; rtems_rate_monotonic_period_states state;
rtems_rate_monotonic_period_time_t since_last_period; rtems_rate_monotonic_period_time_t since_last_period;
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE executed_since_last_period; rtems_thread_cpu_usage_t executed_since_last_period;
} rtems_rate_monotonic_period_status; } rtems_rate_monotonic_period_status;
/** /**
@@ -131,7 +132,7 @@ typedef struct {
Objects_Control Object; Objects_Control Object;
Watchdog_Control Timer; Watchdog_Control Timer;
rtems_rate_monotonic_period_states state; rtems_rate_monotonic_period_states state;
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE owner_executed_at_period; rtems_thread_cpu_usage_t owner_executed_at_period;
rtems_rate_monotonic_period_time_t time_at_period; rtems_rate_monotonic_period_time_t time_at_period;
uint32_t next_length; uint32_t next_length;
Thread_Control *owner; Thread_Control *owner;

View File

@@ -33,7 +33,7 @@ void _Rate_monotonic_Update_statistics(
) )
{ {
rtems_rate_monotonic_period_statistics *stats; rtems_rate_monotonic_period_statistics *stats;
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE executed; rtems_thread_cpu_usage_t executed;
rtems_rate_monotonic_period_time_t since_last_period; rtems_rate_monotonic_period_time_t since_last_period;
#ifdef RTEMS_ENABLE_NANOSECOND_RATE_MONOTONIC_STATISTICS #ifdef RTEMS_ENABLE_NANOSECOND_RATE_MONOTONIC_STATISTICS
rtems_rate_monotonic_period_time_t period_start; rtems_rate_monotonic_period_time_t period_start;
@@ -234,7 +234,7 @@ rtems_status_code rtems_rate_monotonic_period(
#ifdef RTEMS_ENABLE_NANOSECOND_CPU_USAGE_STATISTICS #ifdef RTEMS_ENABLE_NANOSECOND_CPU_USAGE_STATISTICS
{ {
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE ran; rtems_thread_cpu_usage_t ran;
the_period->owner_executed_at_period = the_period->owner_executed_at_period =
_Thread_Executing->cpu_time_used; _Thread_Executing->cpu_time_used;

View File

@@ -44,10 +44,10 @@ extern "C" {
*/ */
#define RTEMS_ENABLE_NANOSECOND_CPU_USAGE_STATISTICS #define RTEMS_ENABLE_NANOSECOND_CPU_USAGE_STATISTICS
#define RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE struct timespec typedef struct timespec rtems_thread_cpu_usage_t;
#else #else
#define RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE uint32_t typedef uint32_t rtems_thread_cpu_usage_t;
#endif #endif
#include <rtems/score/context.h> #include <rtems/score/context.h>
@@ -349,7 +349,7 @@ struct Thread_Control_struct {
/** This field is the amount of CPU time consumed by this thread /** This field is the amount of CPU time consumed by this thread
* since it was created. * since it was created.
*/ */
RTEMS_CPU_USAGE_STATISTICS_TIME_TYPE cpu_time_used; rtems_thread_cpu_usage_t cpu_time_used;
/** This field points to the Ready FIFO for this priority. */ /** This field points to the Ready FIFO for this priority. */
Chain_Control *ready; Chain_Control *ready;
/** This field contains precalculated priority map indices. */ /** This field contains precalculated priority map indices. */