diff options
author | Kuan-Hsun Chen <c0066c@gmail.com> | 2017-01-25 21:47:48 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-26 10:00:33 +0100 |
commit | d7feb8677d48162bf8db34406c232e0179d43dc6 (patch) | |
tree | f7985412d2b7950fb19833bda46d6628902ecaaa /cpukit | |
parent | score: Delete _CPU_Context_Fp_start() (diff) | |
download | rtems-d7feb8677d48162bf8db34406c232e0179d43dc6.tar.bz2 |
Remove rtems_rate_monotonic_postponed_job_count()
Add a variable named "count" in rtems_rate_monotonic_period_status
structure. Revise rtems_rate_monotonic_get_status() for the postponed
job count.
sptests/sp69: Add in the verification of the postponed job count for
rtems_rate_monotonic_get_status().
Update #2795.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/ratemon.h | 24 | ||||
-rw-r--r-- | cpukit/rtems/src/ratemongetstatus.c | 2 | ||||
-rw-r--r-- | cpukit/rtems/src/ratemonperiod.c | 14 |
3 files changed, 6 insertions, 34 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h index 54ddd050e7..ca48a92983 100644 --- a/cpukit/rtems/include/rtems/rtems/ratemon.h +++ b/cpukit/rtems/include/rtems/rtems/ratemon.h @@ -23,7 +23,7 @@ /* COPYRIGHT (c) 1989-2009, 2016. * On-Line Applications Research Corporation (OAR). - * COPYRIGHT (c) 2016 Kuan-Hsun Chen. + * COPYRIGHT (c) 2016-2017 Kuan-Hsun Chen. * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -182,6 +182,9 @@ typedef struct { * then this field has no meaning. */ rtems_thread_cpu_usage_t executed_since_last_period; + + /** This is the count of postponed jobs of this period. */ + uint32_t postponed_jobs_count; } rtems_rate_monotonic_period_status; /** @@ -417,25 +420,6 @@ rtems_status_code rtems_rate_monotonic_period( rtems_interval length ); -/** - * @brief Return the number of postponed jobs - * - * This is a helper function for runtime monitoring to return - * the number of postponed jobs in this given period. This number - * is only increased by the corresponding watchdog, - * and is decreased by RMS manager with the postponed job releasing. - * - * @param[in] id is the period id - * - * @retval This helper function returns the number of postponed - * jobs with a given period_id. - * - */ -uint32_t rtems_rate_monotonic_postponed_job_count( - rtems_id period_id -); - - /**@}*/ #ifdef __cplusplus diff --git a/cpukit/rtems/src/ratemongetstatus.c b/cpukit/rtems/src/ratemongetstatus.c index 403c6ed097..4e6b964f68 100644 --- a/cpukit/rtems/src/ratemongetstatus.c +++ b/cpukit/rtems/src/ratemongetstatus.c @@ -9,6 +9,7 @@ * COPYRIGHT (c) 1989-2009. * On-Line Applications Research Corporation (OAR). * Copyright (c) 2016 embedded brains GmbH. + * Copyright (c) 2017 Kuan-Hsun Chen. * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -43,6 +44,7 @@ rtems_status_code rtems_rate_monotonic_get_status( period_status->owner = the_period->owner->Object.id; period_status->state = the_period->state; + period_status->postponed_jobs_count = the_period->postponed_jobs; if ( the_period->state == RATE_MONOTONIC_INACTIVE ) { /* diff --git a/cpukit/rtems/src/ratemonperiod.c b/cpukit/rtems/src/ratemonperiod.c index 97547e2c77..efcd121584 100644 --- a/cpukit/rtems/src/ratemonperiod.c +++ b/cpukit/rtems/src/ratemonperiod.c @@ -302,20 +302,6 @@ static rtems_status_code _Rate_monotonic_Block_while_expired( return RTEMS_TIMEOUT; } -uint32_t rtems_rate_monotonic_postponed_job_count( rtems_id period_id ) -{ - Rate_monotonic_Control *the_period; - ISR_lock_Context lock_context; - uint32_t jobs; - - the_period = _Rate_monotonic_Get( period_id, &lock_context ); - _Assert( the_period != NULL ); - - jobs = the_period->postponed_jobs; - _Rate_monotonic_Release( the_period, &lock_context ); - return jobs; -} - rtems_status_code rtems_rate_monotonic_period( rtems_id id, rtems_interval length |