Daniel Simon wrote:
> On Fri, 21 Jul 2006 14:12:47 +0200
> "ROSSIER Daniel" <[EMAIL PROTECTED]> wrote:
> 
>> but it might be at the spin() level.
> 
> I have observed that the behaviour of rt_timer_spin() does not fit with
> the expected behaviour as described in the doxygened comment: its actual
> awakening time do not increase when it is preempted. 
> 
> According to the code in timer.c (using 2.1.2) the wakening time seems
> to be computed once for all at the beginning of the function call.
> 
> Am I right?

Partially. The doc doesn't claim that the time during preemption will
get added to your requested spin time. Depending on how long you got
preempted, the delay /may/ be longer (until the preemption actually
ends). Anyway, this could explain some misunderstandings in this tricky
scenario here.

[There is actually one undocumented issue of rt_timer_spin: if the task
is migrated to another CPU during spin, the end time will not match the
new timebase. So, one should not forget to pin such spinning tasks to
one CPU first when running on SMP.]

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to