Re: 2.6.17-rc5-mm1 - output of lock validator

From: Ingo Molnar
Date: Thu Jun 01 2006 - 04:37:43 EST



* Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> > This is a serious bug in misrouted_irq(). disable_irq() is a
> > software state and must be repsected.
>
> no that is not correct. The api is a mix kinda and broken; it really
> DOES mean "shut this irq source off". That your handler won't get
> called is an assumption! You do NOT disable your handler this way.
> What we really need is a disable_irq_handler() api that does both!

well, the short-term answer is that Herbert's fix is correct and we need
to do it even if it degrades the efficiency of irqfixup/irqpoll.

after this fix is applied, irqfixup/irqpoll should be enhanced to take
advantage of disable_irq_handler().

in any case, correctness comes first - not honoring IRQ_DISABLED can
lead to lockups.

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