[RFC][PATCH] irq: support IRQ_NESTED_THREAD with non-threaded interrupt handlers
Esben Haabendal
eha at doredevelopment.dk
Tue Jun 8 17:23:40 EST 2010
On Tue, 2010-06-08 at 08:58 +0200, Thomas Gleixner wrote:
> On Mon, 7 Jun 2010, Esben Haabendal wrote:
>
> > On Mon, Jun 7, 2010 at 5:06 PM, Thomas Gleixner <tglx at linutronix.de> wrote:
> >
> > > Maybe you understand now, why I was pretty sure upfront, that your
> > > approach was wrong even without knowing all the gory details ? :)
> >
> > I understand. There is a better solution, which is to use threaded
> > interrupts where needed.
>
> FWIW, it just occured to me, that the only reason why the
> disable_irq_nosysnc() trips up on the in_atomic() check is your
> fiddling with the nested irq dispatcher.
>
> If you just would have changed the phy driver to
> request_irq_any_context() it would have simply worked out of the box,
> without any need to remove buslock and changing genirq code at all.
>
> That would not give you the advantage of getting rid of the two
> additional I2C transfers, but that's nn optimzation not a functional
> requirement.
Now, that is good news. Thanks!
/Esben
More information about the Linuxppc-dev
mailing list