[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0907221645240.2813@localhost.localdomain>
Date: Wed, 22 Jul 2009 16:52:21 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Mark Brown <broonie@...nsource.wolfsonmicro.com>
cc: Peter Zijlstra <peterz@...radead.org>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Trilok Soni <soni.trilok@...il.com>,
Pavel Machek <pavel@....cz>, Arve Hj?nnev?g <arve@...roid.com>,
kernel list <linux-kernel@...r.kernel.org>,
Brian Swetland <swetland@...gle.com>,
linux-input@...r.kernel.org, Andrew Morton <akpm@...l.org>,
linux-i2c@...r.kernel.org,
Joonyoung Shim <jy0922.shim@...sung.com>,
m.szyprowski@...sung.com, t.fujak@...sung.com,
kyungmin.park@...sung.com, David Brownell <david-b@...bell.net>,
Daniel Ribeiro <drwyrm@...il.com>
Subject: Re: Threaded interrupts for synaptic touchscreen in HTC dream
On Wed, 22 Jul 2009, Mark Brown wrote:
> On Wed, Jul 22, 2009 at 04:18:26PM +0200, Thomas Gleixner wrote:
> > On Wed, 22 Jul 2009, Peter Zijlstra wrote:
>
> > > Also, how important is it that subhandler1..n run in their own thread?
> > > That is, can't we let them run from the thread that is otherwise waiting
> > > for the completino anyway?
>
> > In those cases I suspect we can do that. I guess there can be async
> > handling as well: the main handler queries the pending interrupts,
> > masks them, wakes the handlers and returns. No wait for all threads to
> > finish necessary before unmasking the main interrupt line.
>
> The chips I'm deling with can certainly support doing that but I'm not
> sure there'd be enormous advantages - a lot of the interrupt handlers
> will either be trivial (eg, RTC ticks or alarms) or be serialised by a
> need to interact with the chip anyway. I'd expect this to be generally
> true, though ICBW.
So in your case it would be possible to run the various subdevice
thread_fn handlers from your main interrupt thread one after each
other ?
Well, that indeed makes it a candidate for a nested structure
handling, where your main thread calls handle_nested_irq(irq) which
simply runs the thread function of that nested interrupt while keeping
the semantics vs. disable/enable ... intact.
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