From: Steven Seeger <steve@domain.hid>
To: Philippe Gerum <rpm@xenomai.org>,
"xenomai@xenomai.org" <xenomai@xenomai.org>
Cc: xenomai@xenomai.org
Subject: [Xenomai-core] Re: [Xenomai-help] rt_task_wait_period() and overruns
Date: Tue, 28 Feb 2006 10:15:40 -0800 [thread overview]
Message-ID: <C029D34C.25A3%steve@domain.hid> (raw)
In-Reply-To: <44048E34.2020207@domain.hid>
I do not recall having this problem with fusion, but I'll take your word on
it. I don't have time to go back and check. :)
Purging the overrun count when rt_task_wait_period() is called may work but
not for all conditions. For example, say I am monitoring a patient's
heartbeat by taking an A/D reading every 1 ms in order to build an ECG
waveform. If I have 4 overruns, I've got a problem because I've missed
crucial data, and this is a serious problem. Of course, it isn't the RTOS's
job to create an error condition in this fashion. But on the other hand, it
woudln't be desirable to have 4 duplicate measurements in such a waveform,
either. The user could check the overrun count himself already, if desired.
The problem with purging the overrun count is that a lot of periodic threads
use counters to perform certain actions. Say my thread runs every 1 ms, so
every 500 times I want to toggle an LED to make it blink at a rate of 2 Hz.
If the overrun counter is purged, then such behavior is going to mess up the
counter. If there is a momentary loss of realtime due to a higher priorituy
thread going nuts, the light will still most likely blink at the right time.
Perhaps the best option would be to make this a task property that users can
set? Keep the current behavior by default, but purge overruns if they so
desire. The cost of this would be only one branch condition in
rt_task_wait_period().
Steven
On 2/28/06 9:53 AM, "Philippe Gerum" <rpm@xenomai.org> wrote:
> Steven Seeger wrote:
> Right (except that fusion never exhibited the behaviour you described,
> though).
> Still, there is an interesting question that remains which you indirectly
> brought
> in, and which is the real issue to worry about: does rt_task_wait_period(), as
> it
> is now, behave in the best interest of users who happen to use it properly?
>
> I mean: if the application misses several deadlines because something is going
> wild in there, wouldn't the recovery procedure be easier if one knows at once
> how
> many deadlines have been missed in a raw, without having to call the RTOS
> back.
> IOW, do we want to purge the overrun count after the first notification and
> make
> rt_task_wait_period return this count (e.g. ala Chorus/OS's thread pools), or
> would it be preferable to keep the things the way they are now?
>
> Breaking the API again is also an issue, albeit we already broke it for a few
> other calls when working on v2.1 anyway.
>
> Open question. Something like a poll, actually.
next prev parent reply other threads:[~2006-02-28 18:15 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-27 14:20 [Xenomai-help] resume/suspend periodic timing issue Steven Seeger
2006-02-27 18:39 ` Gilles Chanteperdrix
2006-02-28 13:45 ` Steven Seeger
2006-02-28 13:55 ` Gilles Chanteperdrix
2006-02-28 14:07 ` Steven Seeger
2006-02-28 14:21 ` Jan Kiszka
2006-02-28 14:24 ` Steven Seeger
2006-02-28 15:10 ` Philippe Gerum
2006-02-28 15:13 ` Steven Seeger
2006-02-28 15:27 ` Jan Kiszka
2006-02-28 15:29 ` Steven Seeger
2006-02-28 15:43 ` Jan Kiszka
2006-02-28 15:46 ` Steven Seeger
2006-02-28 16:01 ` Jan Kiszka
2006-02-28 16:27 ` Steven Seeger
2006-02-28 15:29 ` Philippe Gerum
2006-02-28 15:31 ` Steven Seeger
2006-02-28 16:20 ` Philippe Gerum
2006-02-28 16:28 ` Steven Seeger
2006-02-28 16:37 ` Philippe Gerum
2006-02-28 17:24 ` Steven Seeger
2006-02-28 17:53 ` [Xenomai-core] rt_task_wait_period() and overruns Philippe Gerum
2006-02-28 18:02 ` [Xenomai-core] Re: [Xenomai-help] " Philippe Gerum
2006-02-28 18:15 ` Steven Seeger [this message]
2006-03-01 10:22 ` Philippe Gerum
2006-03-01 15:25 ` Dmitry Adamushko
2006-03-01 16:00 ` Philippe Gerum
2006-03-01 19:01 ` Dmitry Adamushko
2006-03-03 11:29 ` Philippe Gerum
2006-02-28 13:57 ` [Xenomai-help] resume/suspend periodic timing issue Philippe Gerum
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=C029D34C.25A3%steve@domain.hid \
--to=steve@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.