LWN.net Logo

handle_threaded_irq()

From:  David Brownell <david-b@pacbell.net>
To:  Ingo Molnar <mingo@elte.hu>, linux-kernel@vger.kernel.org, tglx@linutronix.de
Subject:  [patch/rfc 0/2] handle_threaded_irq()
Date:  Tue, 17 Mar 2009 19:14:53 -0700
Message-ID:  <200903171914.53688.david-b@pacbell.net>
Cc:  Peter Zijlstra <a.p.zijlstra@chello.nl>, me@felipebalbi.com, dmitry.torokhov@gmail.com, sameo@openedhand.com
Archive-link:  Article, Thread

This is a followup to help address one of the omissions in the
threaded IRQ patches (v2) posted recently.  To recap, those
provided a quickcheck() routine that could wake an irq thread,
and a way to register a handler using that mechanism.

This addresses an orthogonal problem:  given some thread
demultiplexing the subsidiary IRQs reported to some top-level
interrupt, how can that kick in flow handlers chaining to
the subsidiary IRQs' handlers?

The answer here is more or less as suggested by Thomas:
using handle_threaded_irq(), a flow handler which doesn't
use handle_IRQ_event() since that doesn't much like being
called from thread context, at least when lockdep is active.

These two patches:

 - add handle_threaded_irq() flow handler;
 - kick it in for some twl4030 code

Tested on 2.6.29-rc8 code, both with and without the v2
irqthread patches.


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

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds