Messages in this thread | | | Date | Fri, 7 May 1999 00:56:03 +0300 (EEST) | From | Taneli Vähäkangas <> | Subject | Re: [patch] SMP race fix [was Re: SMP lockup & 3c509 on 2.2.x [aka. the Deadly 'ping -f']] |
| |
Hello again!
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/
| |