Re: Interrupt handler problem

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

  • Next message: Andi Kleen: "Re: 2.3.99pre8 RAID memory allocation"

    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 : Sat May 13 2000 - 08:58:27 EDT