lkml.org 
[lkml]   [2001]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: QUESTION: Network hangs with BP6 and 2.4.x kernels, hardware
    Date
    In article <3A5F4827.2E443786@colorfullife.com>,
    Manfred Spraul <manfred@colorfullife.com> wrote:
    >The processor's local APIC includes an in-service entry and a holding
    >entry for each priority level. To avoid losing interrupts, software
    >should allocate no more than 2 interrupt vectors per priority.
    >>>>>>>>>
    >
    >Ok, we must reorder the vector numbers for our own interrupts
    >(0xfb-0xff), but that doesn't explain our problems: we don't loose
    >reschedule interrupts, we have problems with normal interrupts - and
    >there we only use 2 irq at the same priority level.
    >
    >Btw, the kick patch I sent a few minutes ago revives my io apic.

    Does this seem to happen mainly with drivers that use "disable_irq()"
    and "enable_irq()"? I know the ne drivers do (through the 8390 module),
    and some others do too (3c59x).

    "disable_irq()"/"enable_irq()" has always tended to be slightly
    problematic. It's not a set of semantics that maps well onto all
    interrupt controllers (io-apic definitely included). Drivers would
    generally be better off if they disabled their own chip from sending
    interrupts, rather than disabling the interrupt line the chip is on.

    (Of course, most drivers would be even _better_ off if they didn't play
    games with irq disabling at all, but I think the 8390 driver does it
    because otherwise it would suck too badly for words).

    If you are seeing this with a 8390 core, try to see if the problem goes
    away if you remove the "disable_irq_nosync(dev->irq);" and
    "enable_irq()" thing (which means that you need to change the
    spinlocking at the same place to use irq-safe versions - this _will_
    make for bad interrupt latency especially with ISA ne2000 cards, but it
    would be interesting to hear if it makes the problem less likely to
    happen).

    Linus
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:28    [W:0.026 / U:30.348 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site