[PATCH] sp13: Document message buffer usage and adjust configuration

Joel Sherrill joel.sherrill at oarcorp.com
Thu Apr 16 15:55:49 UTC 2015


---
 testsuites/sptests/sp13/system.h | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git a/testsuites/sptests/sp13/system.h b/testsuites/sptests/sp13/system.h
index 3b170bf..f879096 100644
--- a/testsuites/sptests/sp13/system.h
+++ b/testsuites/sptests/sp13/system.h
@@ -66,13 +66,34 @@ TEST_EXTERN rtems_name Queue_name[ 4 ];      /* array of queue names */
 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
 /*
- *  First three created in init.c, last created in task1.c.
+ *  Created in init.c:
+ *    Q1 - CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, MESSAGE_SIZE ) (1600)
+ *    Q2 - CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 10, MESSAGE_SIZE )   (160)
+ *    Q3 - CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, MESSAGE_SIZE ) (1600)
+ *
+ *  Q1 and Q2 deleted in task1.c.
+ *
+ *  Q1 recreated in task1.c:
+ *    Q1 - CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, 20 )           (2000)
+ *
+ *  Q1 deleted again in task1.c.
+ *
+ *  Q1 repeatedly created and deleted for 2 messages of 1-1030 bytes
+ *  in length. Account for peak usage:
+ *    Q1 - CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 2, 1030 )           (2060)
+ *
+ *  Because each message requires memory for the message plus two
+ *  pointers to place the buffer on lists, it is easier to just
+ *  allocate memory for all the message queues. But we can safely
+ *  ignore Q2 and the last instance of Q1 since enough memory is
+ *  free when the third instance of Q1 is created.
  */
 #define CONFIGURE_MESSAGE_BUFFER_MEMORY \
-   CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, MESSAGE_SIZE ) + \
-   CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 10, MESSAGE_SIZE ) + \
-   CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, MESSAGE_SIZE ) + \
-   CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, 20 )
+   /* Q1 */ CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, MESSAGE_SIZE ) + \
+   /* Q2 */ /* CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 10, MESSAGE_SIZE ) + */ \
+   /* Q3 */ CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, MESSAGE_SIZE ) + \
+   /* Q1 */ CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, 20 ) + \
+   /* Q1 */ /* CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 2,  1030 ) */
 
 #define CONFIGURE_EXTRA_TASK_STACKS         (3 * RTEMS_MINIMUM_STACK_SIZE)
 
-- 
1.9.3



More information about the devel mailing list