Gilles Chanteperdrix wrote:
> Michel Rinaldi wrote:
>> ----- Messaggio originale -----
>> Da: "Gilles Chanteperdrix" <[email protected]>
>> A: "Michel Rinaldi" <[email protected]>
>> Cc: [email protected]
>> Inviato: Lunedì, 24 gennaio 2011 15:27:51 GMT +01:00
>> Amsterdam/Berlino/Berna/Roma/Stoccolma/Vienna
>> Oggetto: Re: [Xenomai-help] Problems with rt_task_create and rt_task_join
>>
>> .....
>>
>>> You explanations are hard to follow and understand, and what is more,
>>> ambiguous. Send us a piece of code which allows us to reproduce this
>>> issue. Trying to make it as simple as possible. For instance seeing if
>>> registering the interrupt causes any difference (if it does not make any
>>> difference, then remove it, you get the idea).
>> My code is really big and complex to reduce, I'll try to simplify it in next
>> days.
>>
>>> As usual, we do not know what version of Xenomai, Adeos, Linux, etc...
>>> you are using. See:
>>> http://www.xenomai.org/index.php/Request_for_information
>> I post them into firts mail of this thread, anyway they are:
>> - Linux system with kernel 2.6.35.7
>> - Xenomai 2.5.5.2
>> - Adeos ipipe patch 2.7-04
>> GCC is on version 4.4.3.
>>
>> .....
>>
>>> That is bad. One more question: what happens when you run the "latency"
>>> test, do you get strange results? Also, I see that you have the SMI
>>> workaround enabled, does it detect your chipset?
>> Yes, as system log says, Xenomai detect SMI motherboard and disable them.
>> I run the latency test: without other loads onto system, I observe values
>> like these:
>>
>> RTT| 00:00:01 (periodic user-mode task, 100 us period, priority 99)
>> RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat
>> worst
>> RTD| 6.680| 7.157| 12.187| 0| 0| 6.680| 12.187
>> RTD| 6.277| 6.980| 10.519| 0| 0| 6.277| 12.187
>> RTD| 1.175| 7.122| 9.315| 0| 0| 1.175| 12.187
>> RTD| 1.578| 7.112| 9.382| 0| 0| 1.175| 12.187
>> RTD| 1.635| 7.133| 10.307| 0| 0| 1.175| 12.187
>>
>> also after long runnings.
>>
>> But if I launch application contained into attached main_app.c file (that
>> represents my simplified application)
>> what I observe into latency test is:
>
> What you observe when you launch your application is irrelevant. The
> latency test only makes sense if the the latency test is the only one
> running with high priority. So, what you should run is some non-realtime
> load.
>
> Also, your application creates a thread with priority 99 using all the
> CPU. This is absolutely not what Xenomai is made for. No wonder the
> system stops working correctly when you do that.
Ok. Sorry, the rt_sem_p is actually waiting for the semaphore. So, for
it to take a long time, the kernel module would have to post it all the
time. In the kernel module, you should check rtdm_task_wait_period
return value.
Anyway, what I said still stands: if we suspect the application of being
the culprit, we should try and run a system without this application
first. That is, only latency and some non real-time load.
--
Gilles.
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help