On 4/15/2015 12:13 PM, Gedare Bloom wrote: > On Wed, Apr 15, 2015 at 2:49 AM, Sebastian Huber > <sebastian.hu...@embedded-brains.de> wrote: >> Two message queues get deleted before the forth is created. Why did this >> work before and what is the root cause for this failure? We will never know >> after this patch. >> > Yes I don't understand what this is fixing. The test, or the failure? Yes. The test under reserves. Here is a more detailed analysis:
For the purposes of this analysis, I am ignoring the overhead per allocation. Before the patch, the configuration was for the initial Q1-Q3 for 3360 bytes. MESSAGE_SIZE is a constant in system.h and 16 NEED TOTAL AVAILABLE 0 3360 Q1 - 100 * MESSAGE_SIZE ==> 1600 1600 1760 Q2 - 10 * MESSAGE_SIZE ==> 160 1760 1600 Q3 - 100 * MESSAGE_SIZE ==> 1600 3360 0 delete Q1 1760 1600 delete Q2 1600 1760 Q1 - 100 * 20 ==> 2000 Since the second instance of Q1 needs more than the first instance, it fails. Current patch technically over reserves. Since second instance of Q1 needs more than the first instance, we could get by with Q1 second instance, Q2, and Q3 as the reservation. Obviously this would need a comment. Do you want me to change it that way? > >> On 14/04/15 21:08, Joel Sherril wrote: >>> Module: rtems >>> Branch: master >>> Commit: 351858d75327d5bbda7e720157dced706bbe5688 >>> Changeset: >>> http://git.rtems.org/rtems/commit/?id=351858d75327d5bbda7e720157dced706bbe5688 >>> >>> Author: Joel Sherrill <joel.sherr...@oarcorp.com> >>> Date: Tue Apr 14 14:07:35 2015 -0500 >>> >>> sp13: Update configuration to account for messages on fourth message queue >>> >>> --- >>> >>> testsuites/sptests/sp13/system.h | 6 +++++- >>> testsuites/sptests/sp13/task1.c | 1 + >>> 2 files changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/testsuites/sptests/sp13/system.h >>> b/testsuites/sptests/sp13/system.h >>> index 7bb680c..3b170bf 100644 >>> --- a/testsuites/sptests/sp13/system.h >>> +++ b/testsuites/sptests/sp13/system.h >>> @@ -65,10 +65,14 @@ 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. >>> + */ >>> #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, MESSAGE_SIZE ) + \ >>> + CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 100, 20 ) >>> #define CONFIGURE_EXTRA_TASK_STACKS (3 * >>> RTEMS_MINIMUM_STACK_SIZE) >>> diff --git a/testsuites/sptests/sp13/task1.c >>> b/testsuites/sptests/sp13/task1.c >>> index e783e37..e104e8d 100644 >>> --- a/testsuites/sptests/sp13/task1.c >>> +++ b/testsuites/sptests/sp13/task1.c >>> @@ -267,6 +267,7 @@ rtems_test_pause(); >>> &Queue_id[ 1 ] >>> ); >>> directive_failed( status, "rtems_message_queue_create of Q1; 20 bytes >>> each" ); >>> + >>> status = rtems_message_queue_send( Queue_id[ 1 ], big_send_buffer, 40 >>> ); >>> fatal_directive_status(status, >>> RTEMS_INVALID_SIZE, >>> >>> _______________________________________________ >>> vc mailing list >>> v...@rtems.org >>> http://lists.rtems.org/mailman/listinfo/vc >> >> -- >> Sebastian Huber, embedded brains GmbH >> >> Address : Dornierstr. 4, D-82178 Puchheim, Germany >> Phone : +49 89 189 47 41-16 >> Fax : +49 89 189 47 41-09 >> E-Mail : sebastian.hu...@embedded-brains.de >> PGP : Public key available on request. >> >> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. >> >> _______________________________________________ >> devel mailing list >> devel@rtems.org >> http://lists.rtems.org/mailman/listinfo/devel > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel -- Joel Sherrill, Ph.D. Director of Research & Development joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel