[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1006080853220.2933@localhost.localdomain>
Date: Tue, 8 Jun 2010 08:58:41 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Esben Haabendal <esbenhaabendal@...il.com>
cc: Esben Haabendal <eha@...edevelopment.dk>, linuxppc-dev@...abs.org,
Marc Zyngier <maz@...terjones.org>,
LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>,
joachim.eastwood@...ron.com, Peter Zijlstra <peterz@...radead.org>,
David Miller <davem@...emloft.net>
Subject: Re: [RFC][PATCH] irq: support IRQ_NESTED_THREAD with non-threaded
interrupt handlers
On Mon, 7 Jun 2010, Esben Haabendal wrote:
> On Mon, Jun 7, 2010 at 5:06 PM, Thomas Gleixner <tglx@...utronix.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.
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists