[PATCH 5/6] rtems: Change timer server task mode setting

Sebastian Huber sebastian.huber at embedded-brains.de
Sat Feb 15 12:36:22 UTC 2020


Use the non-preempt mode only in uni-processor configurations.

Update #3876.
---
 cpukit/rtems/src/timerserver.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c
index 2ebceca1ba..1a332b89ec 100644
--- a/cpukit/rtems/src/timerserver.c
+++ b/cpukit/rtems/src/timerserver.c
@@ -181,11 +181,13 @@ static rtems_status_code _Timer_server_Initiate(
     rtems_build_name('T','I','M','E'),
     priority,
     stack_size,
-    rtems_configuration_is_smp_enabled() ?
-      RTEMS_DEFAULT_MODES : /* no preempt is not supported for SMP */
-      RTEMS_NO_PREEMPT,   /* no preempt is like an interrupt */
-                          /* user may want floating point but we need */
-                          /*   system task specified for 0 priority */
+#ifdef RTEMS_SMP
+    RTEMS_DEFAULT_MODES, /* no preempt is not recommended for SMP */
+#else
+    RTEMS_NO_PREEMPT,    /* no preempt is like an interrupt */
+#endif
+    /* user may want floating point but we need */
+    /*   system task specified for 0 priority */
     attribute_set | RTEMS_SYSTEM_TASK,
     &id
   );
-- 
2.16.4



More information about the devel mailing list