On Mon, Apr 7, 2008 at 2:39 PM, Gilles Chanteperdrix <[EMAIL PROTECTED]> wrote: > On Mon, Apr 7, 2008 at 2:14 PM, Gilles Chanteperdrix > <[EMAIL PROTECTED]> wrote: > > On Mon, Apr 7, 2008 at 1:32 PM, Thomas Wiedemann > > <[EMAIL PROTECTED]> wrote: > > > Hi folks, > > > > > > i think there is a problem with the xenomai scheduler or the > sched_yield() > > > call, when using the POSIX skin (Xenomai 2.4.3, Linux 2.6.24.4, SMP, > > > .config is attached). > > > > The semantic of sched_yield() is a bit specific: it causes threads > > running in primary mode to yield to other threads running in primary > > mode. To get threads running in secondary mode to yield to other > > threads running in secondary mode, you have to call > > __real_sched_yield(). > > That said what we could do is that sched_yield() calls > __real_sched_yield() for threads running in secondary mode. Try the > attached patch (recompilation of kernel needed).
Forget it, it will not work. What you are trying to do can not work as long as Xenomai and Linux are two distinct schedulers: Xenomai tasks running in secondary mode are suspended from Xenomai scheduler point of view, so, you can yield as much as you want, this will never let them run. -- Gilles _______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core