Re: [PATCH PREEMPT_RT]: On AT91 ARM: GPIO Interrupt handlingcan/will stall forever

From: Daniel Walker
Date: Wed Nov 28 2007 - 18:27:56 EST


On Wed, 2007-11-28 at 23:03 +0000, Russell King - ARM Linux wrote:
> On Wed, Nov 28, 2007 at 04:13:07PM -0500, Steven Rostedt wrote:
> >
> >
> > On Wed, 28 Nov 2007, Daniel Walker wrote:
> >
> > >
> > > Ignoring the ARM side of things for a sec, handle_simple_irq() will
> > > mask() the interrupt in the special case that an interrupt is already in
> > > the processes of being handled.. handle_simple_irq() also unmasks when
> > > it finishes handling an interrupt (something real time adds for some
> > > reason) ..
> > >
> > > In terms of threading the irq everything is the same except there is no
> > > unmask() call when the thread finishes ..
> > >
> >
> > OK, to be honest, I never fully understood the concept of this
> > "simple_irq". I figured it was because of the ARM architecture.
>
> If you read what I said compared with what Daniel said, you'll see that
> adding the mask/unmask is _pointless_ because for the case where the
> simple handler should be used, there is _no_ hardware masking available
> except via the parent interrupt signal.
>
> So actually Daniel's argument misses the basic point - that using
> handle_simple_irq for non-simple IRQs is just WRONG.

Well we've got at least two ARM boards which need the additional unmask
to work correctly with interrupt threading .. So there must be at least
two ARM boards using handle_simple_irq incorrectly .. It sounds like you
would prefer we send patches to move those handle_simple_irq users into
another method ?

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/