mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
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:
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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. */
|
||||||
|
|||||||
Reference in New Issue
Block a user