From 90960bd11a91259d9aace3870692dbe2e227de0f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 21 Mar 2016 15:01:57 +0100 Subject: rtems: Rework rate-monotonic scheduler Use the default thread lock to protect rate-monotonic state changes. This avoids use of the Giant lock. Split rtems_rate_monotonic_period() body into several static functions. Introduce a new thread wait class THREAD_WAIT_CLASS_PERIOD for period objects to synchronize the blocking operation. Close #2631. --- cpukit/score/include/rtems/score/threadimpl.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'cpukit/score/include/rtems/score/threadimpl.h') diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h index 37ac5964be..55fdb224da 100644 --- a/cpukit/score/include/rtems/score/threadimpl.h +++ b/cpukit/score/include/rtems/score/threadimpl.h @@ -1280,10 +1280,15 @@ RTEMS_INLINE_ROUTINE void _Thread_Lock_restore_default( #define THREAD_WAIT_CLASS_SYSTEM_EVENT 0x200U /** - * @brief Indicates that the thread waits for a object. + * @brief Indicates that the thread waits for an object. */ #define THREAD_WAIT_CLASS_OBJECT 0x400U +/** + * @brief Indicates that the thread waits for a period. + */ +#define THREAD_WAIT_CLASS_PERIOD 0x800U + RTEMS_INLINE_ROUTINE void _Thread_Wait_flags_set( Thread_Control *the_thread, Thread_Wait_flags flags -- cgit v1.2.3