On Fri, Apr 1, 2011 at 1:37 PM, Gilles Chanteperdrix
<[email protected]> wrote:
> Philippe Gerum wrote:
>> (*) Unless I find a way to direct the linux scheduler to the "right"
>> task in the migration case, but so far, I found none (none that would be
>> sane, I mean).
>
> In Henri particular case. Maybe there would be a way to call
> wake_up_process first, then look into the (Linux) scheduler state, see
> if a reschedule is pending. If a reschedule is pending, do not clear the
> boost and let do_schedule_event handle the situation? Otherwise, clear
> the boost.
>
> Or maybe that fits into the "insane" category?
>
> --
>                                                                Gilles.
>

Thanks Philippe and Gilles! Your detailed explanation brings the
pieces of the puzzle together! I understand why the reschedule is
needed there. And that indeed Priority coupling is broken by design
then: most likely the thread running in the Linux domain at the time a
Xenomai thread is relaxed is not a Xenomai thread. The reschedule will
then always schedule any runnable Xenomai task before the relaxed
thread in Linux domain.
Priority coupling can never guarantee rule #1, also because a Linux
call might block.

However, it would be great to find a way to direct the Linux
scheduler, maybe the way Gilles proposed. Then at least rule #1 would
be valid until the relaxed task blocks or reschedules... but of course
will never be guaranteed..

Kind regards,
Henri.

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

Reply via email to