From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Ulrich Schwab <uli.schwab@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] Error propagating ISR to Linux domain
Date: Tue, 29 Jul 2008 16:20:57 +0200 [thread overview]
Message-ID: <488F2749.9010605@domain.hid> (raw)
In-Reply-To: <488DD994.8020501@domain.hid>
Gilles Chanteperdrix wrote:
> Ulrich Schwab wrote:
>> why not checking for irq origin like this:
>> int my_isr_handler (xnintr_t *irq)
>> {
>> if ( ! test_my_card_for_irq_origin )
>> return XN_ISR_NONE | XN_ISR_PROPAGATE;
>> ... /* handling */
>> return XN_ISR_HANDLED;
>> }
>>
>> this way XN_ISR_PROPAGATE is never returned in the not-shared case.
>
> I think this idea needs an answer; the answer is no: it will not work.
> Because the IRQ will remain masked until Linux handles it, which
> basically means that the RT irq will wait for non-RT activity, you loose
> real-time response.
It will not work, but not for the reason I mention: Adeos WILL re-enable
the IRQ at interrupt controller level after the end of this handler,
however, since the interrupt was not cleared on the peripheral side, the
peripheral will reassert the interrupt when the interrupt is unmasked at
interrupt controller level, so the CPU will enter an infinite loop
invoking the ISR.
--
Gilles.
next prev parent reply other threads:[~2008-07-29 14:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-16 16:03 [Xenomai-core] Error propagating ISR to Linux domain Benjamin ZORES
2008-07-16 17:02 ` Jan Kiszka
2008-07-20 16:25 ` Ulrich Schwab
2008-07-28 14:37 ` Gilles Chanteperdrix
2008-07-29 14:20 ` Gilles Chanteperdrix [this message]
2008-07-29 22:15 ` Ulrich Schwab
2008-07-29 22:24 ` Gilles Chanteperdrix
2008-07-30 8:31 ` Gilles Chanteperdrix
2008-07-30 9:22 ` Ulrich Schwab
2008-07-30 9:26 ` Gilles Chanteperdrix
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=488F2749.9010605@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=uli.schwab@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.