Messages in this thread | | | Date | Tue, 6 May 2003 17:44:37 -0400 | From | Chuck Ebbert <> | Subject | Re: 2.5.68-mmX: Drowning in irq 7: nobody cared! |
| |
Andrew Morton wrote:
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > > > > It seems the heuristic is more complicated > > Any suggestions?
Does this pseudocode look like it would work? It should make it only complain if two or more interrupts in a row go unhandled.
int last_irq_was_dropped[NR_IRQS];
/* call each handler in turn for this irq */
for (each_driver(irq)) { ret = call_driver(); if (ret == irq_handled) { if (unlikely(last_irq_was_dropped[irq]) last_irq_was_dropped[irq] = 0; break; } } if (ret != irq_handled) { if (unlikely(last_irq_was_dropped[irq])) complain(); else last_irq_was_dropped[irq] = 1; } - 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/
| |