Re: linux interrupt handling problem

Roman Zippel (zippel@fh-brandenburg.de)
Tue, 9 Nov 1999 16:57:18 +0100 (MET)


Hi,

On Tue, 9 Nov 1999, Richard B. Johnson wrote:

> It works fine without an interrupt controller. It works in the Power PC.
> Please look at the dispatch handler in ../arch/ppc/kernel/irq.c.

The ppc has a different interrupt architecture, it has only a single
interrupt entry and a single interrupt priority (on/off). In that file
there is also a mask_and_ack_irq(irq) _before_ that loop. The m68k cpu is
completly different here, it has multiple entries and multiple priorities
(0-7) and the acknowledgement needs sometimes also to be done within that
loop by the driver, so it doesn't work anymore.
The requirement for a sti() in interrupts makes it impossible to utilize
these priorities to achieve better interrupt perfomance. What other people
sometimes would like to have - the ability to preempt slow interrupts -
get we for free implemented in hardware, but we can't use it because of
the above requirement. :(

bye, Roman

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