Re: Interrupt handler problem

From: Arnaud Westenberg (arnaud@casema.net)
Date: Sat May 13 2000 - 06:10:57 EST


Alan Cox wrote:
 
> Is this card PCI or ISA.

It is an ISA card with 15 different devices capable of generating irq's

> If it is ISA then it is up to the IRQ handler to check if it has
> emptied all the irq causing events. PCI is a bit more forgiving that
> way but instead hangs the box if you dont clear everything eventually.

The problem is that the sending node (on another box) starts a new
transmission after the previous transfer is acknowledged by the
hardware. The time between two successive transmissions is the time I
have to read the data and put it in the buffer. The way I've implemented
the handler now is so slow it takes more time to read the data then the
time available between transmissions. Are there any cleaver ways to
speed up the handler?

> You also obviously need to check your lock the accesses if both the irq
> and other code use the index/data pairs.

I've done that, with cli/sti however instead of spinlocks.

Greetings Arnaud

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



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:22 EST