summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/ratemonimpl.h
diff options
context:
space:
mode:
authorKuan-Hsun Chen <c0066c@gmail.com>2016-12-21 17:42:39 +0100
committerGedare Bloom <gedare@rtems.org>2017-01-13 13:55:13 -0500
commit3a46b72455721c223ad1501c209a9e414d409f7a (patch)
tree3c5eb108d65ec14ffcc93063627bad2ec4b97fdc /cpukit/rtems/include/rtems/rtems/ratemonimpl.h
parentposix: shared memory support (diff)
downloadrtems-3a46b72455721c223ad1501c209a9e414d409f7a.tar.bz2
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.
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/ratemonimpl.h13
1 files changed, 13 insertions, 0 deletions
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,