[lkml]   [2009]   [Feb]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Is interrupt priority supported ?
    Jose Luis Marchetti wrote:
    >> it has been for a looong time (those things tend to almost
    >> get outdated already -
    >> witness the floppy controller misery):
    > He he, I am from the same era..., I appreciate your answer, but I am afraid your suggestion is not exactly what I was expecting.
    > The tools you mention appears to act on the hardware level, not on Linux by itself, they apply only to x86 processors ( as you can see by the name ), and I am not running Linux in one of those processors.
    > Roughly, this is what I have seen in other OSs that support interrupt priority:
    > Imagine a table with interrupt IDs, in my example they are in decreased priority order:
    > interrupt priority table:
    > Serial,
    > Ethernet,
    > Keyboard,
    > etc...
    > Then, when one interrupt happen, lets say the Ethernet, the OS disable all lower priority interrupts ( keyboard in my example ), but allow the Serial interrupt nest into the Ethernet interrupt.
    > In my example the serial is the highest priority interrupt and no one could nest into it.

    It doesn't really work that way in Linux. Normally disabling interrupts
    is all or nothing. Whether or not other devices can cause interrupts
    during an interrupt handler execution by default is a bit
    platform-dependent, I think (unless the driver requests IRQF_DISABLED
    which requests that other interrupts should not run).

    Normally in Ethernet drivers these days only very minimal processing is
    done during the interrupt handler, the rest is deferred to softirq
    context which runs with interrupts enabled so other interrupts can
    happen. That's not to say that all Ethernet drivers are so well-behaved,
    however, especially if they haven't been updated to use NAPI. (In the
    NAPI case, the driver disables further interrupts from the device until
    the softirq is able to run and process the packets.) In your case it
    seems likely that yours is not behaving so well, as one would expect the
    interrupt handler to complete in less than the time it takes one
    character to arrive on the serial port..

     \ /
      Last update: 2009-02-20 01:57    [W:0.021 / U:1.032 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site