Messages in this thread | | | Subject | Re: [patch, -rc5-mm1] locking validator: special rule: 8390.c disable_irq() | From | Arjan van de Ven <> | Date | Wed, 31 May 2006 23:56:22 +0200 |
| |
On Wed, 2006-05-31 at 23:47 +0200, Ingo Molnar wrote: > * Arjan van de Ven <arjan@infradead.org> wrote: > > > On Wed, 2006-05-31 at 17:41 -0400, Alan Cox wrote: > > > On Wed, May 31, 2006 at 10:31:40PM +0200, Arjan van de Ven wrote: > > > > > 8390.c knows that ei_local->page_lock can only be used by an irq > > > > > context that it disabled - > > > > > > > > btw I think this is no longer correct with the irq polling stuff Alan > > > > added to the kernel recently... > > > > > > We could make the misrouted IRQ logic skip all handlers on a disabled IRQ > > > but that might actually be worse than the disease we are trying to cure by > > > doing so. > > > > yeah since misrouted irqs will cause the kernel do disable irqs 'at > > random' more or less .. for which the handlers now would become > > unreachable which isn't good. > > couldnt most of these problems be avoided by tracking whether a handler > _ever_ returned a success status? That means that irqpoll could safely > poll handlers for which we know that they somehow arent yet matched up > to any IRQ line?
I suspect the real solution is to have a
disable_irq_handler(irq, handler)
function which does 2 things 1) disable the irq at the hardware level 2) mark the handler as "don't call me"
it matches the semantics here; what these drivers want is 1) not get an irq handler called and 2) not get an irq flood
- 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/
| |