From: Johan Borkhuis <j.borkhuis@domain.hid>
To: rpm@xenomai.org
Cc: Xenomai help <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Replacement of taskDelay(0) call
Date: Mon, 22 Oct 2007 09:04:27 +0200 [thread overview]
Message-ID: <471C4B7B.2030103@domain.hid> (raw)
In-Reply-To: <1192814057.6252.32.camel@domain.hid>
Philippe Gerum wrote:
> On Fri, 2007-10-19 at 16:32 +0200, Johan Borkhuis wrote:
>
>> When using VxWorks we used "taskDelay(0)" to invoke the scheduler.
>> Within Xenomai this call was translated into "rt_task_yield()". However,
>>
>
> You mean xnpod_yield(), the VxWorks skin is directly based on the
> Xenomai abstract core, not on the native skin.
>
I am not using the VxWorks skin: we were already using an OS-abstraction
layer for our application, and the Xenomai version of this is based on
the Native skin.
>>
>> when using a number of tasks at the same priority using this mechanism
>> the watchdog timeout kicks in and kills the Xenomai task(s).
>>
>
> Well, that's the point of the watchdog. If you application does not
> reliquish enough CPU time to the regular Linux kernel activities, the
> system is wil have a problem sooner or later. taskDelay(0) will perform
> some kind of manual round-robin scheduling, therefore doing so among one
> or several real-time tasks for a long time could indeed prevent Linux to
> grab the CPU. In that case, the watchdog really notifies you from a
> problem with the dynamics of your application.
>
> IOW, what is allowed with a dedicated RTOS controlling the whole
> hardware may not be valid in the context of a GPOS and a RTOS sharing
> the same hardware, which is the case with Xenomai. You have to make sure
> Linux has some time left to perform the regular housekeeping duties
> (process non real-time device interrupts, Linux scheduler ticks and so
> on).
>
Thank you for this extensive explanation. I am afraid that I am still
thinking to much in terms of a one-OS system and not considering the
problems that a dual-OS is causing. I will need to look at this problem
more closely, and see in which way I can change the behavior.
Kind regards,
Johan Borkhuis
prev parent reply other threads:[~2007-10-22 7:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-19 14:32 [Xenomai-help] Replacement of taskDelay(0) call Johan Borkhuis
2007-10-19 17:14 ` Philippe Gerum
2007-10-22 7:04 ` Johan Borkhuis [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=471C4B7B.2030103@domain.hid \
--to=j.borkhuis@domain.hid \
--cc=rpm@xenomai.org \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.