Re: [PATCH 0/7] Boot IRQ quirks and rerouting

From: Maciej W. Rozycki
Date: Wed Jun 04 2008 - 15:21:34 EST


On Wed, 4 Jun 2008, Jon Masters wrote:

> Meanwhile, I think this really shows that a couple of us who've been
> meaning to poke at per-device IRQs should do so once again. This is the
> real solution - kill off all those per-IRQ threads, have one per device
> and split each IRQ into a "top" and "bottom" (just kidding on the names)
> half. Have the first part be *incredibly* small and just return if the
> device actually was responsible for the IRQ (and quiesse it), and have
> the second part do the heavyweight handling. Since the second part can
> run as a thread (and actually sleep for however long, because it's now
> per device) - and since we have threaded tasklets and all this on RT
> anyway - we can just kill off most of the extra logic in many Linux
> interrupt handlers and have just the interrupt thread do the work.

This is how a lot of our drivers used to work in the old days -- modulo
implementation details. It is still a good idea, but it requires more
care and effort to implement, so people tend to avoid it unless forced by
the design of hardware involved (cf. phylib in the interrupt mode).

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