summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-05-29 18:02:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-05-31 11:05:48 +0200
commitb6911069d42381b89505803e2c699b4271c25e96 (patch)
treec38a59068cfd7f62f03b3eee7dea6d39e77b8f0e /cpukit/sapi
parentpc386: Added sections for rtems-libbsd support. (diff)
downloadrtems-b6911069d42381b89505803e2c699b4271c25e96.tar.bz2
libblock: Add task stack size bdbuf configuration
The task stack size for the swap-out and worker tasks is now configurable. The bdbuf task resources are now included in the work space size estimate.
Diffstat (limited to 'cpukit/sapi')
-rw-r--r--cpukit/sapi/include/confdefs.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h
index bb18be40db..4e43a27f45 100644
--- a/cpukit/sapi/include/confdefs.h
+++ b/cpukit/sapi/include/confdefs.h
@@ -1225,6 +1225,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
#define CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY \
RTEMS_BDBUF_SWAPOUT_WORKER_TASK_PRIORITY_DEFAULT
#endif
+ #ifndef CONFIGURE_BDBUF_TASK_STACK_SIZE
+ #define CONFIGURE_BDBUF_TASK_STACK_SIZE \
+ RTEMS_BDBUF_TASK_STACK_SIZE_DEFAULT
+ #endif
#ifndef CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
#define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE \
RTEMS_BDBUF_CACHE_MEMORY_SIZE_DEFAULT
@@ -1246,12 +1250,20 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
CONFIGURE_SWAPOUT_BLOCK_HOLD,
CONFIGURE_SWAPOUT_WORKER_TASKS,
CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY,
+ CONFIGURE_BDBUF_TASK_STACK_SIZE,
CONFIGURE_BDBUF_CACHE_MEMORY_SIZE,
CONFIGURE_BDBUF_BUFFER_MIN_SIZE,
CONFIGURE_BDBUF_BUFFER_MAX_SIZE
};
#endif
+ #define CONFIGURE_LIBBLOCK_TASKS (1 + CONFIGURE_SWAPOUT_WORKER_TASKS)
+
+ #define CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS \
+ (CONFIGURE_LIBBLOCK_TASKS * \
+ (CONFIGURE_BDBUF_TASK_STACK_SIZE <= CONFIGURE_MINIMUM_TASK_STACK_SIZE ? \
+ 0 : CONFIGURE_BDBUF_TASK_STACK_SIZE - CONFIGURE_MINIMUM_TASK_STACK_SIZE))
+
/*
* Semaphores:
* o disk lock
@@ -1269,6 +1281,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
#error BDBUF Cache does not use a buffer configuration table. Please remove.
#endif
#else
+ #define CONFIGURE_LIBBLOCK_TASKS 0
+ #define CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS 0
#define CONFIGURE_LIBBLOCK_SEMAPHORES 0
#endif /* CONFIGURE_APPLICATION_NEEDS_LIBBLOCK */
@@ -1456,6 +1470,9 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
#define CONFIGURE_MAXIMUM_TASKS 0
#endif
+ #define CONFIGURE_TASKS \
+ (CONFIGURE_MAXIMUM_TASKS + CONFIGURE_LIBBLOCK_TASKS)
+
#ifndef CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
#define CONFIGURE_NOTEPADS_ENABLED TRUE
#else
@@ -2073,7 +2090,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
* requirements.
*/
#define CONFIGURE_TOTAL_TASKS_AND_THREADS \
- (CONFIGURE_MAXIMUM_TASKS + \
+ (CONFIGURE_TASKS + \
CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS + \
CONFIGURE_MAXIMUM_GOROUTINES)
@@ -2176,7 +2193,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
_Configure_From_stackspace( CONFIGURE_IDLE_TASK_STACK_SIZE ) )
#define CONFIGURE_TASKS_STACK \
- (_Configure_Max_Objects( CONFIGURE_MAXIMUM_TASKS ) * \
+ (_Configure_Max_Objects( CONFIGURE_TASKS ) * \
_Configure_From_stackspace( CONFIGURE_MINIMUM_TASK_STACK_SIZE ) )
#define CONFIGURE_POSIX_THREADS_STACK \
@@ -2219,6 +2236,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
CONFIGURE_GOROUTINES_STACK + \
CONFIGURE_ADA_TASKS_STACK + \
CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK + \
+ CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS + \
CONFIGURE_EXTRA_TASK_STACKS \
)
@@ -2227,7 +2245,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
* This is the Classic API Configuration Table.
*/
rtems_api_configuration_table Configuration_RTEMS_API = {
- CONFIGURE_MAXIMUM_TASKS,
+ CONFIGURE_TASKS,
CONFIGURE_NOTEPADS_ENABLED,
CONFIGURE_MAXIMUM_TIMERS + CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER,
CONFIGURE_SEMAPHORES,