RE: Common IRQ pitfall results in lockup.

Bret Indrelee (bindrelee@sbs-cp.com)
Fri, 5 Nov 1999 11:04:46 -0600


Raj, Ashok [mailto:ashok.raj@intel.com] wrote:
> Another one i would recommend if this is making its way to
> the base linux
> kernel is that we should ask the irq handlers to return some
> value so that
> the kernel could know who took this interrupt. so if 2
> devices are sharing
> an
> interrupt, and if the kernel calls the first registered
> handler, and it knew
> its
> device interrupted, then on returning from the irq handler if
> we return 1 to
>
> indicate this interrupt is consumer, we possibly dont need to
> send this to
> all of the
> registered handlers?

That is how almost every other operating system that uses polled interrupts
does it. The handler returns one defined value if they didn't handle it and
a different value if it was handled.

I was surprised that Linux didn't have the driver poll routine return a
value.

Before we redesign the interrupt handling behavior, I would like to see some
information indicating how long the poll chain gets. Determine what (if any)
the measurable performance benefits are before considering the change.

If you are changing the interrupt scheme though, you should really think
about putting support for vectored interrupts in. This would help the VMEbus
people. For those who may not know, vectored interrupts are interrupts where
you are immediately given an interrupt vector which can be used to determine
which handler to call. No need to poll various drivers to figure out who is
asserting the interrupt.

-Bret

-------------------------------------------------------------
SBS Technologies, Connectivity Products
... solutions for real-time connectivity

Bret Indrelee, Engineer
SBS Technologies, Inc., Connectivity Products
1284 Corporate Center Drive, St. Paul MN 55121
Direct: (651) 905-4731
Main: (651) 905-4700 Fax: (651) 905-4701
E-mail: bindrelee@sbs-cp.com http://www.sbs.com
-------------------------------------------------------------

-
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/