Hi, On Mon, 2009-03-09 at 10:36 -0400, Steven Seeger wrote: > Andreas, > > I do not know your situation but it is generally better to not > allocate things in realtime contexts because it is not deterministic.
Of course :) So my plan is to preallocate the memory for the memory pool of all queues, for example with rt_heap_create. To follow the example, I would pass the reference of the RT_HEAP object to rt_queue_create which would call rt_heap_alloc to get the memory for its queue memory pool. Using RT_HEAP would create some additional overhead, which currently doesn't worry me too much. > You may consider redesigning your applications to use pre-allocated > queues as it would be better overall. Agreed. I consider it as last resort. > > Regards, > Steven Thanks, Andreas > > On Mar 9, 2009, at 10:20 AM, Andreas Glatz wrote: > > > Hi, > > > > Calling rt_queue_create in a real-time task is supposed to fail > > according to the documentation. > > > > I found out, that the reason for this is, that the memory for > > the queue memory pool is allocated with vmalloc/kmalloc. > > Is there another reason? > > > > I still would like to be able to call rt_queue_create in a > > real-time task in my activity of porting real-time applications > > to Xenomai because I think that patching rt_queue_create would > > be less time consuming than redesigning the applications. > > > > My approach to get there would be to split rt_queue_create into > > two separate functions, one that allocates the memory pool > > and another one which initializes the queue structure... > > > > Best regards, > > Andreas > > > > > > > > > > _______________________________________________ > > Xenomai-core mailing list > > [email protected] > > https://mail.gna.org/listinfo/xenomai-core > _______________________________________________ Xenomai-core mailing list [email protected] https://mail.gna.org/listinfo/xenomai-core
