> -----Message d'origine----- > De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De > la part de Philippe Gerum > Envoyé : vendredi, 21. juillet 2006 15:16 > À : Daniel Simon > Cc : [email protected] > Objet : Re: [Xenomai-help] Priority inversion > > On Fri, 2006-07-21 at 14:51 +0200, 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? > > > > Yes. But nothing is said in the documentation about the determination of > the end spinning time, so the doc is right; what it says is that your > task is going to wait for a certain count of nanoseconds, as seen from > its own POV, it does not say that only cycles spent in actual spinning > wait on behalf of the caller should be accounted for. Fact is that the > task will have waited for a certain amount of time before returning, > what has occurred in the rest of the system during that period is > irrelevant to the purpose of rt_task_spin(). > > I guess that your interpretation of the behaviour of your application > has been wrong due to the non-cumulative aspect of rt_timer_spin(), i.e. > a first spinning interrupted by a second one will exit immediately upon > return if the initial end time has been reached, because of the second > spin time. But in any case, this is an expected behaviour.
Yes, that's definitively the point; and again, sorry for the mishap with the mutex/sema, which actually perfectly works :-) Back to rt_timer_spin(), in other words, does it mean that there is a kind of global counter used by this function that evolves over the different tasks when rt_timer_spin() is used, or something like this (no notion of virtual task time)? > > > Daniel > > > -- > Philippe. > > > > _______________________________________________ > Xenomai-help mailing list > [email protected] > https://mail.gna.org/listinfo/xenomai-help _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
