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

Reply via email to