On Thu, 6 May 1999, Andrea Arcangeli wrote:
> Index: drivers/net/3c509.c
> Index: drivers/net/8390.c
> Index: include/asm/irq.h
> Index: arch/i386/kernel/io_apic.c
> Index: arch/i386/kernel/irq.c
> Index: arch/i386/kernel/visws_apic.c
[snip]
>
> M.H., Nicholas and Taneli, could you confirm that my patch above will fix
> _all_ your SMP lockup that you all can reproduce trivially after some
> minute of heavy network usage in SMP? (I had zero reports yet... ;).
Sorry for the delay. I needed to read for Friday's exam.
On to the patch.
I hand-applied most parts of it, didn't touch ioapic-level functions or
visws file, and also didn't apply the part about locking against when
called from the interrupt handler. I had to add disable_irq_nosync to
the list of exported functions in i386_ksyms.c, since my 3c509 only
works as a modules. After that, it worked very well. No problems
flood pinging (previously it would have locked within five seconds).
Functionality-wise the patch works miracles. Have you considered Linus'
suggestion about implementing IRQ_BUSY flag? Would that be a cleaner
approach?
Taneli <taneli@firmament.fi>
-
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/