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-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html