[Xenomai] ENOMEM returned from rt_task_create and rt_sem_create

Steve Hartmann shartmann at cnt.canon.com
Mon Aug 25 13:33:43 CEST 2014

On 8/25/14 3:47 AM, "Philippe Gerum" <rpm at xenomai.org> wrote:

>On 08/22/2014 01:44 PM, Steve Hartmann wrote:
>> On 8/22/14 1:28 AM, "Philippe Gerum" <rpm at xenomai.org> wrote:
>>> On 08/21/2014 10:04 PM, Steve Hartmann wrote:
>>>> Hi folks,
>>>> I am using linux 3.2.21 + xenomai on intel core i7.  This is a
>>>> user land application.
>>>> This code I am having issues with was working pretty well until I
>>>> some more semaphores.  As it runs right now, it will call
>>>> 544 times, then call a single rt_task_create.  There are also about 15
>>>> mutexes created also.  I didn't count it, but somewhere around 520 or
>>>> semaphores, I start getting ENOMEM returned from both of these
>>>> Is there a way I can increase whatever memory pool these are pulling
>>>> from?  It is feasible to rewrite the code so I use less semaphores,
>>>> if it is not detrimental, I would like to just raise whatever limit it
>>>> is that I am running into.
>>> Raising CONFIG_XENO_OPT_SYS_HEAPSZ should fix this issue.
>>> -- 
>>> Philippe.
>> Thanks for the reply.
>> That's what I thought too.  I doubled it to 512 and saw no effect.  I
>> doubled the value of CONFIG_XENO_OPT_GLOBAL_SEM_HEAP and
>> CONFIG_XENO_OPT_SEM_HEAPSZ to see if they had any effect - they did not.
>This could be the number of registry slots then, try raising

Thanks, I will try that today.  However, in all the calls to
rt_sem_create, I pass NULL to the name parameter.  Should the semaphores
still be taking up registry slots even if unnamed?


More information about the Xenomai mailing list