[rtems commit] psxtests/psxkey07: Limit workspace size

Sebastian Huber sebh at rtems.org
Wed Mar 12 06:48:16 UTC 2014


Module:    rtems
Branch:    master
Commit:    92d261c2886a36026dc3fe85ca7b7f67dcc7a10c
Changeset: http://git.rtems.org/rtems/commit/?id=92d261c2886a36026dc3fe85ca7b7f67dcc7a10c

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Mar 11 14:02:42 2014 +0100

psxtests/psxkey07: Limit workspace size

This avoids large test execution times on targets with a big RAM.

---

 testsuites/psxtests/psxkey07/init.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/testsuites/psxtests/psxkey07/init.c b/testsuites/psxtests/psxkey07/init.c
index c25227d..98aeed3 100644
--- a/testsuites/psxtests/psxkey07/init.c
+++ b/testsuites/psxtests/psxkey07/init.c
@@ -63,6 +63,8 @@ rtems_task Init(rtems_task_argument argument)
   rtems_status_code  rc;
   int                sc;
   struct timespec    delay_request;
+  uintptr_t          max_free_size = 13 * RTEMS_MINIMUM_STACK_SIZE;
+  void              *greedy;
 
   all_thread_created = 0;
 
@@ -88,6 +90,9 @@ rtems_task Init(rtems_task_argument argument)
   sc = pthread_key_create( &Key, NULL );
   rtems_test_assert( !sc );
 
+  /* Reduce workspace size if necessary to shorten test time */
+  greedy = rtems_workspace_greedy_allocate( &max_free_size, 1 );
+
   for ( ; ; ) {
     thread_p = malloc( sizeof( rtems_id ) );
     rtems_test_assert( thread_p );
@@ -129,6 +134,9 @@ rtems_task Init(rtems_task_argument argument)
       pthread_cond_wait( &set_condition_var, &mutex1 );
     pthread_mutex_unlock( &mutex1 );
   }
+
+  rtems_workspace_greedy_free( greedy );
+
   printf(
     "Init - %d pthreads have been created - OK\n"
     "Init - %d pthreads have been setted key data - OK\n",




More information about the vc mailing list