memory overhead of rtems regions

Matthew J Fletcher amimjf at gmail.com
Thu Mar 7 14:21:48 UTC 2013


Hi,

Its 20, but I believe that would return RTEMS_TO_MANY, if that was not
enough.
 On 7 Mar 2013 14:09, "Gedare Bloom" <gedare at rtems.org> wrote:

> Check how many message queues your application has configured.
>
> #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES    ?
>
> On Thu, Mar 7, 2013 at 7:05 AM, Matthew J Fletcher <amimjf at gmail.com>
> wrote:
> > Hi,
> >
> > Reading the documentation for rtems regions is a bit vague about the
> > overhead of the lists that behind the scenes manage the blocks. Its quite
> > possible i am not fully understanding the operation. I have a call
> sequence
> > as follows.
> >
> > rtems_region_create( length = 19800, page_size = 128 )
> >   rtems_region_get_segment( size = 160 )
> >     rtems_message_queue_create ( count = 160, max_size =2 )
> >   rtems_region_get_segment( size = 400 )
> >     rtems_message_queue_create ( count = 400, max_size =2 )
> >   rtems_region_get_segment( size = 1600 )
> >     rtems_message_queue_create ( count = 1600, max_size =2 )
> >   rtems_region_get_segment( size = 40 )
> >     rtems_message_queue_create ( count = 40, max_size =2 )
> >   rtems_region_get_segment( size = 4000 )
> >     rtems_message_queue_create ( count = 4000, max_size =2 )
> >   rtems_region_get_segment( size = 40 )
> >     rtems_message_queue_create ( count = 40, max_size =2 )
> >   rtems_region_get_segment( size = 40 )
> >     rtems_message_queue_create ( count = 40, max_size =2 )
> >   rtems_region_get_segment( size = 40 )
> >     rtems_message_queue_create ( count = 40, max_size =2 )
> >   rtems_region_get_segment( size = 40 )
> >     rtems_message_queue_create ( count = 40, max_size =2 )
> >   rtems_region_get_segment( size = 120 )
> >     rtems_message_queue_create ( count = 120, max_size =2 )
> >   rtems_region_get_segment( size = 400 )
> >     rtems_message_queue_create ( count = 400, max_size =2 )
> >   rtems_region_get_segment( size = 400 )
> >     rtems_message_queue_create ( count = 400, max_size =2 )
> >   rtems_region_get_segment( size = 2000 ) // total size upto here 7320
> >     rtems_message_queue_create ( count = 2000, max_size =2 )
> >     // returns RTEMS_UNSATISFIED - unable to allocate message buffers
> here
> >
> > I dont fully understand why RTEMS_UNSATISFIED is being returned from the
> > queue_create(), is there really a 50%+ overhead in managing 128 byte
> pages ?
> > out of a 19800 length.
> >
> > I am presuming that the RTEMS_UNSATISFIED is because of the region size,
> but
> > i could be wrong about that.
> >
> >
> > regards
> > ---
> > Matthew J Fletcher
> >
> >
> > _______________________________________________
> > rtems-users mailing list
> > rtems-users at rtems.org
> > http://www.rtems.org/mailman/listinfo/rtems-users
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20130307/294af806/attachment-0001.html>


More information about the users mailing list