RTEMS Message Queue Behaviour

Aleix Conchillo Flaqué aconchillo at ice.csic.es
Fri Apr 9 10:25:23 UTC 2010


How (parameters) do you create the message queues?

Aleix

On Fri, Apr 9, 2010 at 12:21, Jamie Bowman
<jamie.bowman at steepestascent.com> wrote:
> Alexi
>
> Thank you very much for your quick response.
>
> We have been setting the CONFIGURE_MESSAGE_BUFFER_MEMORY parameter within
> our configuration, at least to values we think appear to be appropriate. We
> have the following set:
>
> #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES                18
> #define CONFIGURE_MESSAGE_BUFFER_MEMORY         18*32*sizeof(LOGMSG)
> //NO x DEPTH x SIZE
>
> Our system has around 16 threads running, each of which has been configured
> to have a stack size of 8*RTEMS_MINIMUM_STACK_SIZE which is more than
> adequate for each task.
>
> We configure our tasks as follows to accommodate the number of tasks and the
> larger than default stack sizes:
>
> #define CONFIGURE_MAXIMUM_TASKS         18
> #define CONFIGURE_EXTRA_TASK_STACKS      (18*(8-1)*RTEMS_MINIMUM_STACK_SIZE)
> #define CONFIGURE_MAXIMUM_SEMAPHORES    96
>
> Are there any other configuration parameters we should be setting to
> accommodate our setup?
>
> Kind regards
>
>        Jamie
>
> Jamie Bowman
> Steepest Ascent Ltd
> Ladywell, 94 Duke Street, Glasgow, G4 0UW, UK
> t: +44 (0) 141 552 8855
> e: jamie at steepestascent.com
> w: www.steepestascent.com
>
> -----Original Message-----
> From: aconchillo at gmail.com [mailto:aconchillo at gmail.com] On Behalf Of Aleix
> Conchillo Flaqué
> Sent: 09 April 2010 11:10
> To: Jamie.Bowman at steepestascent.com
> Cc: rtems-users at rtems.org
> Subject: Re: RTEMS Message Queue Behaviour
>
> A while ago I experienced strange problems with queues until I
> configured the memory for them. In 4.6.6 CONFIGURE_MEMORY_OVERHEAD
> defines the number of  kbytes necessary to fit your queue messages and
> CONFIGURE_MESSAGE_BUFFER_MEMORY for newer RTEMS versions. Buffers are
> not taken into account when reserving memory for message queues.
>
> Hope it helps,
>
> Aleix
>
> On Fri, Apr 9, 2010 at 11:56, Jamie Bowman
> <jamie.bowman at steepestascent.com> wrote:
>> All
>>
>>
>>
>> I am experiencing some strange behaviour with RTEMS message queues,
> although
>> I suspect the problem may more to be with the main configuration of the
>> application.
>>
>>
>>
>> I have a multi-threaded system, with a central logging thread. Information
>> is sent from each thread to the logging thread via a single logging thread
>> message queue. At the moment the logging thread simply uses a printf to
>> output the messages it receives. The behaviour we are seeing though is
> that
>> the logging thread is in a certain instances reading the messages out of
> the
>> queue in the wrong order and it also seems that some messages are going
>> missing all together. Monitoring the return of the
> rtems_message_queue_send
>> does not seem to reveal any issues with RTEMS_SUCCESSFUL returned every
>> time. An example of what I am seeing is as follows:
>>
>>
>>
>> Sent: Message 1
>>
>> Sent: Message 2
>>
>> Sent: Message 3
>>
>> Sent: Message 4
>>
>> Sent: Message 5
>>
>> Sent: Message 6
>>
>> Sent: Message 7
>>
>>
>>
>>             LOGGING THREAD
>>
>> Read: Message 1
>>
>> Read: Message 2
>>
>> Read: Message 4
>>
>> Read: Message 3
>>
>> Read: Message 5
>>
>>
>>
>> Messages 3 and 4 are out of order and 6 and 7 never seem to get through.
>>
>>
>>
>> Does anyone have any ideas as to why this may be happening? I am using
> RTEMS
>> 4.8.1.
>>
>>
>>
>> Kind regards
>>
>>
>>
>>             Jamie
>>
>>
>>
>>
>>
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at rtems.org
>> http://www.rtems.org/mailman/listinfo/rtems-users
>>
>>
>
>



More information about the users mailing list