From 3a46b72455721c223ad1501c209a9e414d409f7a Mon Sep 17 00:00:00 2001 From: Kuan-Hsun Chen Date: Wed, 21 Dec 2016 17:42:39 +0100 Subject: Enhancement of the RMS manager for the overrun handling. Three additional functions: rtems_rate_monotonic_postponed_job_count, _Rate_monotonic_Renew_deadline, and _Rate_monotonic_Release_postponed_job. Four refined functions: _Rate_monotonic_Activate, _Rate_monotonic_Block_while_expired, rtems_rate_monotonic_period, _Rate_monotonic_Timeout. Rate_monotonic_Control contains one counter for counting the postponed jobs and one for recording the recent deadline. Update #2795. --- cpukit/rtems/include/rtems/rtems/ratemonimpl.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'cpukit/rtems/include/rtems/rtems/ratemonimpl.h') diff --git a/cpukit/rtems/include/rtems/rtems/ratemonimpl.h b/cpukit/rtems/include/rtems/rtems/ratemonimpl.h index b6b3ffd404..c4133c7e03 100644 --- a/cpukit/rtems/include/rtems/rtems/ratemonimpl.h +++ b/cpukit/rtems/include/rtems/rtems/ratemonimpl.h @@ -9,6 +9,7 @@ /* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * Copyright (c) 2016 embedded brains GmbH. + * COPYRIGHT (c) 2016 Kuan-Hsun Chen. * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -116,6 +117,18 @@ bool _Rate_monotonic_Get_status( Timestamp_Control *cpu_since_last_period ); +/** + * @brief Renew the watchdog deadline + * + * This routine is prepared for the watchdog timeout to renew its deadline + * without releasing jobs. + */ +void _Rate_monotonic_Renew_deadline( + Rate_monotonic_Control *the_period, + Thread_Control *owner, + ISR_lock_Context *lock_context +); + void _Rate_monotonic_Restart( Rate_monotonic_Control *the_period, Thread_Control *owner, -- cgit v1.2.3