All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: James Kilts <jameskilts@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Interrupt only runs once
Date: Thu, 17 Sep 2009 22:58:48 +0200	[thread overview]
Message-ID: <4AB2A308.4010508@domain.hid> (raw)
In-Reply-To: <9aa019ba0909171345t4a2996eavc950fa4de543fd6d@domain.hid>

James Kilts wrote:
>> If your PIC needs an EOI, you can define the irq_finish macro in
>> include/mach/irqs.h like the AT91, and use the level handler.
> 
> Thanks for the suggestion.  I'll give it a try when I have a moment.
> 
> 
>> Ok. I had a look at handle_prio_irq in arch/arm/mach-ns9xxx/irq.c. What
>> this irq handler does is bad, really bad. If you care about interrupt
>> latencies, you should really use handle_level_irq. That is, replace the
>> #if 0 with a #if 1.
> 
> There is a newer version of handle_prio_irq() that is very similar to
> handle_fasteoi_irq(), which is not checked into mainline Linux yet.
> And yes, the old version is quite bad.
> 
> In any case, I thought handle_prio_irq should only be called when the
> Linux domain is passed the interrupt by I-pipe.  Should I-pipe be
> calling handle_prio_irq() or handle_level_irq() even when Linux is not
> registered to receive the IRQ?

What happens is that the I-pipe acks and masks the irq in
__ipipe_handle_irq. And if it is a Linux interrupt, the Linux irq
handler is called so should not mask or ack the interrupt.

> 
> 
>> By the way: do you plan to publish your patch?
> 
> It would be desirable to have the patch published, although our
> current platform is Linux kernel version 2.6.28.9 with Xenomai 2.4.8
> and may require some work to get working on the latest branch.

Ok. Please be careful the I-pipe patch which comes with Xenomai 2.4.8
has a bug which we discovered with Xenomai 2.4.9, and was fixed with
2.4.9.1. So, you should really upgrade to 2.4.9.1. It should be
painless, since no ABI change ever take place in the same branch (2.4.x
for instance).

As for including your patch, we could include it starting with I-pipe
patch for Linux 2.6.28.

-- 
					    Gilles.


  reply	other threads:[~2009-09-17 20:58 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-15 15:27 [Xenomai-help] Interrupt only runs once James Kilts
2009-09-16 15:47 ` Philippe Gerum
2009-09-17 17:26   ` James Kilts
2009-09-17 17:31     ` Gilles Chanteperdrix
2009-09-17 17:39     ` Gilles Chanteperdrix
2009-09-17 20:45       ` James Kilts
2009-09-17 20:58         ` Gilles Chanteperdrix [this message]
2009-09-24 18:46           ` James Kilts
2009-09-24 18:58             ` 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=4AB2A308.4010508@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=jameskilts@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.