From: Philippe Gerum <rpm@xenomai.org>
To: Mauro <mau.salvi@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Interrupt handling vs. scheduler
Date: Tue, 14 Dec 2010 21:26:06 +0100 [thread overview]
Message-ID: <1292358366.1837.152.camel@domain.hid> (raw)
In-Reply-To: <AANLkTikHyianvhgO7bbe9RGkgCJsNjPXsFt1J_pvtWOc@domain.hid>
On Tue, 2010-12-14 at 20:37 +0100, Mauro wrote:
> 2010/12/12 Philippe Gerum <rpm@xenomai.org>
>
>
>
> What is the return value of rt_intr_wait() in both the valid
> and
> spurious cases?
>
>
> --
> Philippe.
>
>
>
>
> Return value is 1 in both cases.
>
>
> I forgot to mention that periodic task was a Xenomai RT task with
> priority less than interrupt task priority.
>
I see no way for a timer expiration to wake up the wrong thread (each
thread has its own private periodic timer). However I see a scenario
where your low priority thread could trigger a subsequent IRQ early
enough in the time frame to let you think of a spurious return of
rt_intr_wait(), albeit you did receive two different IRQs as
rt_intr_wait() indicates.
Maybe you should try instrumenting rt_intr_handler()
(ksrc/skins/native.syscall.c) to issue a spot on your oscilloscope, so
as to observe whether you actually get the following sequence:
- rt_intr_handler
- IRQ server wakeup and block back in rt_intr_wait
- periodic task wakeup, trigger IRQ via mmio of some sort
- rt_intr_handler
- second IRQ server wakeup
all in a short time frame.
Please keep the list Cced.
>
> Thank you, bye.
>
>
> Mauro
--
Philippe.
next prev parent reply other threads:[~2010-12-14 20:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-12 18:47 [Xenomai-help] Interrupt handling vs. scheduler mau.salvi
2010-12-12 22:04 ` Philippe Gerum
[not found] ` <AANLkTikHyianvhgO7bbe9RGkgCJsNjPXsFt1J_pvtWOc@domain.hid>
2010-12-14 20:26 ` Philippe Gerum [this message]
-- strict thread matches above, loose matches on Subject: below --
2010-12-12 18:45 mau.salvi
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=1292358366.1837.152.camel@domain.hid \
--to=rpm@xenomai.org \
--cc=mau.salvi@domain.hid \
--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.