[PATCH 2/2] psxtests/psxkey08: Limit workspace size
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Mar 11 12:59:50 UTC 2014
This avoids large test execution times on targets with a big RAM.
---
testsuites/psxtests/psxkey08/init.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/testsuites/psxtests/psxkey08/init.c b/testsuites/psxtests/psxkey08/init.c
index 6c4e2d0..6cfa68f 100644
--- a/testsuites/psxtests/psxkey08/init.c
+++ b/testsuites/psxtests/psxkey08/init.c
@@ -56,9 +56,10 @@ rtems_task test_task(rtems_task_argument arg)
rtems_task Init(rtems_task_argument arg)
{
- rtems_status_code status;
- int sc;
- rtems_id *task_id_p;
+ rtems_status_code status;
+ int sc;
+ uintptr_t max_free_size = 13 * RTEMS_MINIMUM_STACK_SIZE;
+ void *greedy;
all_thread_created = 0;
@@ -89,6 +90,8 @@ rtems_task Init(rtems_task_argument arg)
sc = pthread_key_create( &Key, NULL );
rtems_test_assert( !sc );
+ greedy = rtems_workspace_greedy_allocate( &max_free_size, 1 );
+
for ( ; ; ) {
rtems_id task_id;
@@ -115,13 +118,15 @@ rtems_task Init(rtems_task_argument arg)
}
++created_task_count;
- sc = rtems_task_start( *task_id_p, test_task, 0 );
+ sc = rtems_task_start( task_id, test_task, 0 );
rtems_test_assert( sc == RTEMS_SUCCESSFUL );
sc = rtems_semaphore_obtain( sema1, RTEMS_WAIT, 0 );
rtems_test_assert( sc == RTEMS_SUCCESSFUL );
}
+ rtems_workspace_greedy_free( greedy );
+
printf(
"Init - %d tasks have been created - OK\n"
"Init - %d tasks have been setted key data - OK\n",
--
1.7.7
More information about the devel
mailing list