[PATCH 09/12] fsdosfssync01: Stack size for bdbuf SMP workaround
Ralf Kirchner
ralf.kirchner at embedded-brains.de
Tue May 27 14:47:51 UTC 2014
Increase the size of the init task stack for the SMP workaround within bdbuf.
---
testsuites/fstests/fsdosfssync01/init.c | 12 ++++++++++++
1 Datei geändert, 12 Zeilen hinzugefügt(+)
diff --git a/testsuites/fstests/fsdosfssync01/init.c b/testsuites/fstests/fsdosfssync01/init.c
index b0022e9..022cd2b 100644
--- a/testsuites/fstests/fsdosfssync01/init.c
+++ b/testsuites/fstests/fsdosfssync01/init.c
@@ -170,6 +170,18 @@ size_t rtems_ramdisk_configuration_size = 1;
#define CONFIGURE_EXTRA_TASK_STACKS (8 * 1024)
+
+#if defined( RTEMS_SMP )
+ #if defined( RTEMS_POSIX_API )
+ /* The single core bdbuf implementation with enabling and disabling preemption
+ * will not work under SMP. Thus we need to use POSIX mutexes and POSIX
+ * condition variables as a workaround.
+ * These require additional stack size.
+ */
+ #define CONFIGURE_INIT_TASK_STACK_SIZE (2 * CPU_STACK_MINIMUM_SIZE)
+ #endif /* defined( RTEMS_POSIX_API ) */
+#endif /* defined( RTEMS_SMP ) */
+
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
--
1.7.10.4
More information about the devel
mailing list